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

Что такое сокрытие метода

Сокрытие метода (method hiding) в Java происходит, когда подкласс определяет статический метод с такой же сигнатурой, как и статический метод в родительском классе. В отличие от переопределения (overriding), здесь нет полиморфизма - вызываемый метод определяется типом ссылки, а не объекта.

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"
    }
}

Для нестатических методов аналогичное поведение будет считаться переопределением, а не сокрытием. Сокрытие методов не рекомендуется, так как может привести к путанице. Вместо этого лучше использовать разные имена методов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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