2009-08-29 5 views
2

Какие модификаторы доступа, которые при использовании с этим методом делают его доступным для всех классов и подклассов внутри пакета?Модификаторы доступа Java - метод, доступный для подклассов и пакетов

+0

Возможно, какая-то базовая книга о Java не будет дополнительной? –

ответ

9

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 для полезной таблицы, которую позволяет каждый модификатор.

+0

Большое спасибо за ответ –

1

Модификатор доступа к пакетам фактически является отсутствием модификатора. он также упоминается как модификатор 'default'. См. here для получения дополнительной информации.

1

Оказалось, что protected на самом деле менее "защищен", чем ничего не говорит. Как по умолчанию пакет-частный и protected разрешают доступ изнутри пакета; protected затем добавляет видимость для подклассов вне пакета. Он более «защищен», чем public.

2

Все, кроме частных (например, открытый, защищенный и модификатор по умолчанию). См. Следующий рисунок. enter image description here