Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

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
true

import 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 — Делает поле или метод общим для всего класса, а не для отдельного объекта.

В учебнике

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.