Встречается на собеседованиях • сегодня

Можно ли вызвать private static метод родительского класса из наследника

Нет, private методы (включая static) не наследуются и не видны в дочерних классах. Это фундаментальное правило инкапсуляции в Java.

Однако есть обходные пути:

  1. Через рефлексию (но это нарушает принципы инкапсуляции)
  2. Если метод действительно нужен наследникам - стоит изменить модификатор доступа на protected или public

Пример с рефлексией (не рекомендуется для production кода):

java
class Parent {
    private static void secretMethod() {
        System.out.println("Called private static method");
    }
}

class Child extends Parent {
    public static void main(String[] args) throws Exception {
        Method method = Parent.class.getDeclaredMethod("secretMethod");
        method.setAccessible(true);
        method.invoke(null); // Вызов private static метода
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы