Может ли класс верхнего уровня быть закрытым или защищенным в Java

Нет. Класс верхнего уровня как закрытый был бы совершенно бесполезен, потому что ничто не имело бы к нему доступа. Если класс верхнего уровня объявлен как закрытый, компилятор будет жаловаться, что «модификатор private здесь не разрешен». Это означает, что класс верхнего уровня не может быть закрытым. Частные классы разрешены, но только как внутренние или вложенные классы. Если у вас есть закрытый внутренний или вложенный класс, доступ ограничивается областью этого внешнего класса.

Можно ли объявить класс как защищенный в Java

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

Источник: http://net-informations.com/Java/cJava/private.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector