Закрытый пакетный файл в .java-файле - почему он доступен?
Рассмотрим следующий код, гдеHelloWorld
класс имеет доступ по умолчанию или пакетный доступ:
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
И предположим, что приведенный выше код сохраняется в файле с именемHelloWorld.java
, Итак, мой вопрос: так какHelloWorld
теперь это закрытый пакет, как он работает?main()
метод не должен быть видимым или доступным через пакеты, я прав?
Это имеет смысл для меня, если классHelloWorld
объявлен публичным. Путаница возникает только тогда, когда она объявлена с закрытым доступом по умолчанию для пакета.