Какие модификаторы доступа, которые при использовании с этим методом делают его доступным для всех классов и подклассов внутри пакета?Модификаторы доступа Java - метод, доступный для подклассов и пакетов
ответ
public
, protected
и модификатор по умолчанию (который не имеет ключевого слова). Все, кроме private
.
Например, предположим, что пакет foo
имеет следующий класс:
public class MyClass {
public void method1() { };
protected void method2() { };
void method3() { };
private void method4() { };
}
Тогда класс foo.SecondClass
мог бы назвать методы method1
, method2
и method3
, но не .
См. Java tutorial для полезной таблицы, которую позволяет каждый модификатор.
Большое спасибо за ответ –
Модификатор доступа к пакетам фактически является отсутствием модификатора. он также упоминается как модификатор 'default'. См. here для получения дополнительной информации.
Оказалось, что protected
на самом деле менее "защищен", чем ничего не говорит. Как по умолчанию пакет-частный и protected
разрешают доступ изнутри пакета; protected
затем добавляет видимость для подклассов вне пакета. Он более «защищен», чем public
.
Все, кроме частных (например, открытый, защищенный и модификатор по умолчанию). См. Следующий рисунок.
Возможно, какая-то базовая книга о Java не будет дополнительной? –