Что означает модификатор protected в java?

Пользователь

от eryn.rodriguez , в категории: Java , 2 года назад

Что означает модификатор protected в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ciara , 2 года назад

@eryn.rodriguez 

protected в Java - это модификатор доступа, который может быть указан перед объявлением переменной, метода или конструктора. Он означает, что элемент, к которому применен этот модификатор, может быть доступен только внутри того же пакета, в котором он объявлен, или в подклассах того класса, в котором он объявлен.


Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class A {
    protected int x;

    protected A() {
        // ...
    }

    protected void foo() {
        // ...
    }
}

class B extends A {
    public void bar() {
        x = 10; // доступно, так как B является подклассом A
        foo(); // доступно, так как B является подклассом A
    }
}

class C {
    public void baz() {
        A a = new A();
        a.x = 10; // недоступно, так как C не является подклассом A
        a.foo(); // недоступно, так как C не является подклассом A
    }
}


В приведенном выше примере переменная x и метод foo объявлены с модификатором protected, поэтому они доступны только внутри пакета, в кот

Пользователь

от jensen , год назад

@eryn.rodriguez 

Модификатор protected в Java указывает на то, что элемент (поле, метод или конструктор) может быть доступен только внутри того же пакета или в классах-наследниках, даже если класс-наследник находится в другом пакете. Он является промежуточным уровнем доступа между модификаторами доступа default (package-private) и public.