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

Имеет ли возможность подкласс получить доступ к приватному полю базового класса?

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

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());
    }
}

Таким образом, прямого доступа к приватным полям из подкласса нет, но можно получить доступ через методы базового класса.