Члены класса Java protected
, объявленные в классе, видны во всем пакете. Зачем?Защита Java не защищена
Я просто хочу поделиться конфиденциальностью между моим классом и его подклассами, но Java не позволяет мне.
Что я должен делать?
Члены класса Java protected
, объявленные в классе, видны во всем пакете. Зачем?Защита Java не защищена
Я просто хочу поделиться конфиденциальностью между моим классом и его подклассами, но Java не позволяет мне.
Что я должен делать?
protected
делятся также между членами пакета, поэтому вы можете переместить свой класс и его детей в отдельный пакет.
protected
Члены Видны package
и всех подклассов (защищенный). Итак, почему так удивился? ,
Это его предполагаемое поведение. Все поля, объявленные как protected
, видны внутри класса, пакета и всех подклассов, в том числе вне пакета.
Пожалуйста, разместите свой код, как вы объявляете эти поля или методы? –
Работайте с помощью модификаторов доступа к Java. –
См. [Эта таблица] (http://stackoverflow.com/a/33627846/276052) для четкого описания области защиты. * Почему * семантика защищенных была реализована таким образом, скорее всего, только ответят разработчики языка. – aioobe