Вопросы к Поиску с Алисой
Разница между модификаторами доступа protected и package в Java заключается в границах видимости объявляемых элементов. github.com
Package даёт доступ к полям, методам и классам не только классу, в котором они объявлены, но и всем классам, находящимся в том же самом пакете. github.com Это модификатор доступа по умолчанию, если не указано иное. github.com
Protected даёт доступ к полям, методам и классам не только классу, в котором они объявлены, но и всем классам-потомкам, унаследованным от того, где сделано объявление. github.com При этом нельзя получить доступ из несвязанного класса (не наследника и не из того же пакета). dzen.ru
Таким образом, package ограничивает доступ только в пределах пакета, в то время как protected позволяет доступ и внутри пакета, и для классов-наследников.