Java не позволяет сделать модификатор доступа более ограничительным , потому что это нарушит правило, согласно которому экземпляр подкласса должен использоваться вместо экземпляра суперкласса. Но когда дело доходит до ограничения доступа менее ... ну, возможно, суперкласс был написан другим человеком, и они не ожидали, что вы захотите использовать их класс.
Программы, которые пишут люди, и ситуации, возникающие при программировании, настолько разнообразны, что разработчикам языков лучше не «догадываться», что программисты могут захотеть сделать со своим языком. Если нет веской причины, по которой программист должен , а не иметь возможность сделать спецификаторы доступа менее ограничительными в подклассе (например), тогда лучше оставить это решение программисту. Они знают специфику своей индивидуальной ситуации, а дизайнер языка - нет. Поэтому я думаю, что это был хороший призыв со стороны разработчиков Java.