Встречается на собеседованиях • сегодня
Можно ли вызвать private static метод родительского класса из наследника
Нет, private методы (включая static) не наследуются и не видны в дочерних классах. Это фундаментальное правило инкапсуляции в Java.
Однако есть обходные пути:
- Через рефлексию (но это нарушает принципы инкапсуляции)
- Если метод действительно нужен наследникам - стоит изменить модификатор доступа на 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 метода
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы