Ответ 1
Операторы импорта делают ваш код более читаемым, так как вы не загромождаете код полным пакетом.
Если существует конфликт ClassNames
, тогда только в этом случае рекомендуется использовать для полнофункциональные имена.
Я пробовал найти ответ на это как в Интернете, так и в своем собственном наборе знаний, но я не могу найти окончательного четкого ответа.
Предположим, что я использую только один класс из другого пакета только один раз, который нужно импортировать, например myPack.anotherPackage.ClassName
.
В чем разница, если таковая имеется, между использованием оператора import:
import myPack.anotherPackage.ClassName;
используя полное имя:
myPack.anotherpackage.ClassName classInst = new myPack.anotherpackage.ClassName();
?
Очевидно, что этот вопрос применяется только в том случае, если ClassName
используется только один раз.
Операторы импорта делают ваш код более читаемым, так как вы не загромождаете код полным пакетом.
Если существует конфликт ClassNames
, тогда только в этом случае рекомендуется использовать для полнофункциональные имена.
Нет, на мой взгляд. Посмотрите на байт-код - разницы не будет.
javap -c <your class>
1.. Его значение readability
< <<21 >
2. import
предоставляет cleaner code
, чем использование полного имени пакета вместе с именем class
или interface
.
3. Но вы должны заботиться о импортировании пакетов, которые неоднозначны.
`java.awt.List` and `java.util.List`
Затем вам нужно импортировать один полный и один с полным именем пакета, например ниже
import java.util.List;
and
java.awt.List l = new java.awt.List();
От моих знаний нет разницы. Единственное различие заключается в многословии вашего кода. Как правило, чем сложнее читать, тем сложнее читать. Возможно, смотрит на байт-код?
Нет никакой реальной разницы, особенно для конкретного конкретного случая, приведенного здесь. См. Java: используйте импорт или явное имя пакета/класса?
После компиляции кода нет никакой разницы. В обоих случаях байт-код будет иметь полные имена, т.е. Имена классов автоматически заменяются квалифицированными именами компилятором. Это просто, чтобы сделать жизнь программистов легкой, где нам не нужно писать полное имя для обозначения класса.
Импорт и пакет используются для защиты имен и доступа (по умолчанию) Простой причиной этого может быть много классов с одинаковым именем.
Чтобы различать их, мы должны разделить их по пакетам и импортировать их, когда это необходимо.
Нет никакой разницы в импорте класса или при прямом вводе полного имени, однако есть некоторые небольшие отличия. 1. Самое главное, если вы импортируете все классы в пакет (т.е. Import xyz. *;) Классы могут по-прежнему иметь проблемы с именами, например, если есть несколько общих импортов, вы можете использовать неправильный класс во время выполнения.
В целом используйте следующую передовую практику: 1. Никогда не используйте import abc. *; формат импорта и всегда импортировать отдельные классы (eclipse или некоторые IDE могут автоматически корректировать импорт в * и должны отключить это) 2. Вы должны использовать полное имя класса, когда вы уже импортировали класс с таким же именем и хотите использовать другой класс с тем же именем в той же программе. 3. Надеюсь, это поможет:)