2
JLS 6.6.2 дает нам следующее ограничение на доступ к пакетам защищенных элементов.Защищенный модификатор доступа
Защищенный член или конструктор объекта может быть доступен из вне пакета, в котором он объявлен только с помощью кода, который отвечает за реализацию этого объекта.
Что они подразумевают под ответственностью за реализацию. Не могли бы вы привести пример?
Неправильное использование. Класс-код может получить доступ к защищенным полям всех экземпляров. – DThought
Код класса @DThought может обращаться к любым полям собственного класса (даже private), но доступ к защищенным полям суперкласса, принадлежащих другому пакету, может быть выполнен только для тот же экземпляр. – Eran
Вы действительно попробовали пример, который вы дали? Я сделал это, и eclipse позволяет мне с радостью изменить мое поле other.test, которое является защищенным полем в суперклассе. AFAIK пакет, содержащий класс, применим только для модификатора доступа по умолчанию – DThought