Ответ 1
Почему? Потому что именно так был разработан язык программирования Java. Там не намного больше.
То, что есть protected
, доступно из
- сам класс,
- в одном пакете (неважно, являются ли они подклассами или нет),
- подклассы (неважно, находятся ли они в одном пакете или нет).
Это отличается от С++, но Java не является С++, поэтому он не обязательно работает одинаково.