Back to questions
Junior — Middle
64
Какова роль модификатора доступа protected в языке программирования и в чем его отличие от public и private?
Answer from AI
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, что удобно для организации наследования и инкапсуляции.