частные и защищенные бессмысленно допускать к классу / интерфейсу верхнего уровня (не члена).
Они применимы только к членам класса, которые могут быть переменными, константами,конструкторы, методы, классы и интерфейсы.
Почему:
(1) private: Что может быть смыслом / целью, если мы определимкласс как частный.Его область должна быть частной для некоторой области.доступ по умолчанию уже закрыт.И никто не хочет, чтобы класс был закрытым исходным файлом, (догадываясь о причине), возможно, это не очень хорошая практика программирования, потому что java-приложения наконец-то организованы в форме пакетов, но не в виде исходных файлов.Любой исходный файл должен быть частью какого-то пакета, поэтому в широком / окончательном виде каждый класс / интерфейс является частью какого-то пакета, а не только какого-то файла .java.Поэтому не применимо.
(2) protected : Если что-то защищено, оно должно быть доступно только внутри пакета и только для подклассов в других пакетах.Чтобы расширить класс в другом пакете, он должен быть доступен для всех классов в других пакетах, но защищенный говорит, что класс должен быть доступен только для расширенных классов.Это своего рода тупиковая ситуация.Так что не применимо.
Источник: мои чтения и понимание