Back to questions
Junior — Middle
63
Имеет ли возможность подкласс получить доступ к приватному полю базового класса?
Answer from AI
sobes.tech AI
В Java приватные поля базового класса недоступны напрямую из подкласса. Модификатор доступа private ограничивает видимость поля только внутри самого класса, где оно объявлено.
Если подкласс хочет получить доступ к приватному полю базового класса, то это можно сделать через публичные или защищённые (protected) методы доступа (геттеры/сеттеры), которые предоставляет базовый класс.
Пример:
class Base {
private int value = 10;
protected int getValue() {
return value;
}
}
class Derived extends Base {
void printValue() {
// Непосредственный доступ к value невозможен:
// System.out.println(value); // Ошибка компиляции
// Доступ через защищённый метод:
System.out.println(getValue());
}
}
Таким образом, прямого доступа к приватным полям из подкласса нет, но можно получить доступ через методы базового класса.