Нет, статические методы не переопределяются (override), они скрываются (hide).
При вызове статического метода решение о том, какой метод выполнить, принимается на этапе компиляции по типу ссылки, а не по типу объекта.
class Parent {
static void test() { System.out.println("Parent"); }
}
class Child extends Parent {
static void test() { System.out.println("Child"); }
}
Parent obj = new Child();
obj.test(); // Выведет "Parent"Статические методы принадлежат классу, а не объекту, поэтому полиморфизм на них не работает.
🐸 Библиотека собеса по Java
#core