Sobes.tech
Назад к вопросам
Junior — Middle
63

Какова роль модификатора доступа protected в языке программирования и в чем его отличие от public и private?

Ответ от нейросети

sobes.tech AI

В Java модификатор доступа protected означает, что член класса (поле или метод) доступен:

  • Внутри самого класса
  • В классах-наследниках (даже если они находятся в другом пакете)
  • В любом классе внутри того же пакета

Отличия от других модификаторов:

  • public: доступен из любого места, без ограничений.
  • private: доступен только внутри самого класса, не виден ни наследникам, ни другим классам.

Пример:

class Parent {
    protected int protectedValue = 10;
    public int publicValue = 20;
    private int privateValue = 30;
}

class Child extends Parent {
    void printValues() {
        System.out.println(protectedValue); // доступен
        System.out.println(publicValue);    // доступен
        // System.out.println(privateValue); // ошибка компиляции
    }
}

Таким образом, protected обеспечивает более ограниченный доступ, чем public, но более широкий, чем private, что удобно для организации наследования и инкапсуляции.