Встречается на собеседованиях • сегодня
Как реализовать аналог множественного наследования
В Java нет множественного наследования, но можно использовать интерфейсы с default-методами или композицию.
1. Интерфейсы с 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(); } // Явный выбор реализации
}
text
**2. Композиция (предпочтительнее):**
```java
class A { void foo() { System.out.println("A"); } }
class B { void bar() { System.out.println("B"); } }
class C {
private final A a = new A();
private final B b = new B();
void foo() { a.foo(); }
void bar() { b.bar(); }
}Композиция избегает проблем алмаза смерти и делает код гибче.

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