2016-06-10 13 views
0

Я знаю, почему частные и защищенные являются недействительными модификаторами для класса, но почему значение по умолчанию неприемлемо. Я думаю, что если мы не укажем какой-либо модификатор доступа, назначается default. Но вводя его явно как default class Student дает мне синтаксическую ошибкуПочему мы не можем указать модификатор доступа по умолчанию для класса

+0

Там нет такого доступа как «default». Уровень доступа - один из четырех: «открытый», «закрытый», «защищенный» или «закрытый пакет». Последнее не является ключевым словом и может быть указано только как отсутствие модификатора. Какой доступ по умолчанию (когда нет модификатора) зависит от того, что есть и где оно находится; обычно это пакетно-частный, но члены интерфейсов являются общедоступными по умолчанию, а конструкторы enum являются закрытыми по умолчанию. – Boann

ответ

1

Модификатор доступа по умолчанию в Java можно использовать, просто исключив модификатор доступа. В Java 8 появилось новое ключевое слово default, используемое для реализации по умолчанию для метода интерфейса, но, несмотря на запутанное имя и местоположение в объявлении метода, оно не имеет ничего общего с модификаторами доступа.

+0

Можете ли вы предоставить пример использования ключевого слова 'default', за исключением интерфейса Java 8? – Manoj

1

Класс может быть объявлен с модификатором публики, и «NoModifier», но не смысл вместо NoModifier «по умолчанию» ключевое слово

пожалуйста, перейдите по этой ссылке https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

+0

Но Java предоставил 'default' как ключевое слово. Где он используется, кроме стандартных методов интерфейса – Manoj

+0

@Manoj Единственное другое использование ключевого слова 'default' - это выражение [' switch'] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts /switch.html). – Boann