доступ к защищенным свойствам из Java-подпакетов - PullRequest
2 голосов
/ 11 июня 2011

предположим, у меня есть пакет J

кроме того, я создаю новую папку в J, следовательно, она становится подпакетом J, скажем, это J.E

предположим, у меня есть класс в J с именем H с защищенными свойствами, а другой класс с именем T в J.E

может ли класс T получить доступ к защищенным свойствам H?

1 Ответ

9 голосов
/ 11 июня 2011

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

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

7.1 Члены пакета

...

Иерархическая структура именования пакеты предназначены для удобства для организации связанных пакетов в обычным образом, но не имеет значение само по себе, кроме запрет на упаковку, имеющую субпакет с таким же простым именем как тип верхнего уровня (§7.6), объявленный в этот пакет. Специальных отношение доступа между пакетом по имени Оливер и другой пакет с именем oliver.twist или между пакетами по имени evelyn.wood и evelyn.waugh.

В контексте вашей проблемы класс T не может получить доступ к защищенным свойствам H, если T не является подклассом H.

...