Почему Java не требует импорта таких классов, как Integer, String и т.д., когда им нужно импортировать другие классы?
Как Java решает, когда импортировать?
Ответ 1
Существует неявный импорт java.lang.*
.
Модуль компиляции автоматически получает доступ ко всем типам, объявленным в его пакете, а также автоматически импортирует все общедоступные типы, объявленные в предопределенном пакете
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, который импортируется по умолчанию.