Закрытый класс пакета, видимый некоторым другим пакетам (с тем же именем) из другой исходной папки

Когда я проводил некоторое тестирование с пакетами и частными пакетами в Java, я заметил интересную вещь. Ниже приведена исходная структура моих проектов, класс MyTestClass.java в упаковке com.test.pkg в исходной папке src класс, защищенный пакетом Насколько я понимаю, это не должно быть доступно за пределами этого пакета. Но, интересно MyTestClass.java класс доступен в com.test.pkg в исходной папке test также. Это происходит, только если имена пакетов совпадают, хотя они находятся в разных исходных папках.

Может кто-нибудь сказать мне, почему это происходит?

TestProject
|
-src
  -com.test.pkg
    -MyTestClass.java
-test
  +com.test.pkg

1 ответ

Решение

В этом случае исходный каталог не имеет значения вообще. Что важно: имена пакетов одинаковы, поэтому оба класса принадлежат одному пакету - все правильно.

Другие вопросы по тегам