Я знаю, почему частные и защищенные являются недействительными модификаторами для класса, но почему значение по умолчанию неприемлемо. Я думаю, что если мы не укажем какой-либо модификатор доступа, назначается default
. Но вводя его явно как default class Student
дает мне синтаксическую ошибкуПочему мы не можем указать модификатор доступа по умолчанию для класса
ответ
Модификатор доступа по умолчанию в Java можно использовать, просто исключив модификатор доступа. В Java 8 появилось новое ключевое слово default
, используемое для реализации по умолчанию для метода интерфейса, но, несмотря на запутанное имя и местоположение в объявлении метода, оно не имеет ничего общего с модификаторами доступа.
Можете ли вы предоставить пример использования ключевого слова 'default', за исключением интерфейса Java 8? – Manoj
Класс может быть объявлен с модификатором публики, и «NoModifier», но не смысл вместо NoModifier «по умолчанию» ключевое слово
пожалуйста, перейдите по этой ссылке https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
Там нет такого доступа как «default». Уровень доступа - один из четырех: «открытый», «закрытый», «защищенный» или «закрытый пакет». Последнее не является ключевым словом и может быть указано только как отсутствие модификатора. Какой доступ по умолчанию (когда нет модификатора) зависит от того, что есть и где оно находится; обычно это пакетно-частный, но члены интерфейсов являются общедоступными по умолчанию, а конструкторы enum являются закрытыми по умолчанию. – Boann