Встречается на собеседованиях • сегодня
Можно ли переопределить статический метод
Нет, статические методы в Java нельзя переопределять, так как они связаны с классом, а не с экземпляром. При вызове статического метода выбор реализации определяется на этапе компиляции, а не во время выполнения (в отличие от обычных методов).
Пример:
java
class Parent {
static void print() { System.out.println("Parent"); }
}
class Child extends Parent {
static void print() { System.out.println("Child"); } // Это скрытие (hiding), а не переопределение
}
public class Main {
public static void main(String[] args) {
Parent.print(); // "Parent"
Child.print(); // "Child"
Parent obj = new Child();
obj.print(); // "Parent" (вызовется Parent.print(), а не Child.print())
}
}Если бы метод был переопределяемым, последний вызов вывел бы "Child".

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы