Подтвердить что ты не робот

Как Java решает, когда импортировать?

Почему Java не требует импорта таких классов, как Integer, String и т.д., когда им нужно импортировать другие классы?

4b9b3361

Ответ 1

Существует неявный импорт java.lang.*.

Из спецификация Java:

Модуль компиляции автоматически получает доступ ко всем типам, объявленным в его пакете, а также автоматически импортирует все общедоступные типы, объявленные в предопределенном пакете java.lang.

Ответ 2

java.lang пакет импортируется по умолчанию, нет необходимости явно импортировать его.

Ответ 3

Классы в java.lang не нужно импортировать (компилятор действует так, как будто они всегда импортируются). Этот пакет включает основные классы, такие как String, Enum, Runnable, NullPointerException и, конечно же, примитивные классы-оболочки, такие как Integer и Double.

Ответ 4

Потому что они принадлежат к пакету java.lang.*. И это неявно импортируется компилятором. Если вы это сделаете, это не будет вам жаловаться.

Ответ 5

java.lang встраивается, неявно импортируется в java, не нужно вручную импортировать

Ответ 6

Поскольку он содержит очень часто используемые классы, они сделали его необязательным для импорта только для вашего удобства.

Ответ 7

каждый класс в java находится в пакете, и если пакет не определен, он понимается как пакет по умолчанию. И в верхней части пакета находится java.lang. *, Поэтому нам не нужно импортировать его для импорта других классов.

Ответ 8

Целочисленные, String и т.д. классы присутствуют в пакете java.lang, который импортируется по умолчанию.