import / package
package задаёт пакет файла, import позволяет писать короткие имена классов из других пакетов.
Доступно с: Java 1.0
Синтаксис
package name; / import package.Type; / import static package.Type.member; / import module name;Примеры
Импорт класса из модуля, который компактный файл не подключает сам (java.logging):
import java.util.logging.Logger;
void main() {
Logger log = Logger.getLogger("shop");
IO.println(log.getName());
}Результат:
shopСтатический импорт позволяет обращаться к статическим членам без имени класса:
import static java.lang.Math.PI;
import static java.lang.Math.sqrt;
void main() {
IO.println(sqrt(16));
IO.println(PI > 3);
}Результат:
4.0
trueimport module (Java 25) импортирует все публичные пакеты модуля разом:
import module java.sql;
void main() {
IO.println(Types.VARCHAR);
}Результат:
12Обычный файл проекта: package — первая строка, затем импорты. Папки повторяют имя пакета:
// src/main/java/shop/model/Order.java
package shop.model;
import java.math.BigDecimal;
import java.util.List;
public record Order(int id, List<String> items, BigDecimal total) {}Примечания
Пакет java.lang (String, Math, Integer) импортируется всегда, а компактный файл с void main() ещё и весь модуль java.base (java.util, java.io, java.time и другие). Импорт со звёздочкой import java.util.*; подключает все классы пакета, но не вложенные пакеты. Импорт не загружает код и не влияет на скорость — это только сокращение имён. Если два пакета содержат классы с одинаковым именем, например java.util.Date и java.sql.Date, один из них пишут полным именем.
См. также
- public / protected / private — Модификаторы доступа задают, откуда виден класс, поле, метод или конструктор.
- module / requires / exports — Описание модуля в файле module-info.java: какие модули ему нужны и какие пакеты он открывает другим.
- class — Объявляет класс — описание объектов: их полей и методов.
- static — Делает поле или метод общим для всего класса, а не для отдельного объекта.
В учебнике
- Пакеты и модификаторы доступа — Пакеты и import в Java, модификаторы public, protected, private и доступ по умолчанию, сборка и запуск проекта из нескольких файлов.