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

Почему запрещено множественное наследование в Java

Java запрещает множественное наследование классов из-за проблемы "алмаза смерти" (Diamond Problem). Если класс наследует от двух родителей с одинаковым методом, компилятор не сможет определить, какую реализацию выбрать.

Однако Java поддерживает множественное наследование через интерфейсы (с Java 8 и default-методами), так как они не содержат состояния и конфликты разрешаются явным переопределением.

Пример:

java
interface A { default void foo() { System.out.println("A"); } }
interface B { default void foo() { System.out.println("B"); } }
class C implements A, B {
    @Override
    public void foo() { A.super.foo(); } // Явное указание реализации
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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