Может ли дочерний класс обращаться к приватным свойствам базового класса?

В Java дочерний класс не может напрямую обращаться к приватным (private) свойствам базового класса.

Короткий ответ

Что ответить на собеседовании

В Java дочерний класс не может напрямую обращаться к приватным (private) свойствам базового класса. Приватные поля доступны только внутри самого класса, где они объявлены. Чтобы получить доступ к таким полям из подкласса, обычно используются защищённые (protected) или публичные (public) методы доступа (геттеры/сеттеры). Например:

Подробный разбор

Ответ с пояснениями

В Java дочерний класс не может напрямую обращаться к приватным (private) свойствам базового класса. Приватные поля доступны только внутри самого класса, где они объявлены. Чтобы получить доступ к таким полям из подкласса, обычно используются защищённые (protected) или публичные (public) методы доступа (геттеры/сеттеры). Например:

class Parent {
    private int secret = 42;

    protected int getSecret() {
        return secret;
    }
}

class Child extends Parent {
    void showSecret() {
        // System.out.println(secret); // Ошибка компиляции
        System.out.println(getSecret()); // Правильно
    }
}

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее