Встречается на собеседованиях • сегодня
Что такое сокрытие методов
Сокрытие методов (method hiding) в Java происходит, когда подкласс определяет статический метод с такой же сигнатурой, как и статический метод в родительском классе. В отличие от переопределения (override), здесь нет полиморфного поведения - вызывается метод того класса, по типу ссылки которого происходит вызов.
java
class Parent {
static void print() {
System.out.println("Parent");
}
}
class Child extends Parent {
static void print() {
System.out.println("Child");
}
}
public class Main {
public static void main(String[] args) {
Parent p = new Child();
p.print(); // Выведет "Parent" (не "Child"!)
Child.print(); // Выведет "Child"
}
}Ключевые моменты:
- Работает только для static методов
- Нет аннотации @Override
- Вызов зависит от типа ссылки, а не от реального объекта

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