Вопрос проверяет понимание множественного наследования интерфейсов в Java и ограничений языка.
В Java класс может имплементировать любое количество интерфейсов. Это ключевая особенность языка, которая позволяет реализовать множественное наследование поведения без сложностей, связанных с наследованием классов. В отличие от классов, где множественное наследование запрещено, интерфейсы предоставляют гибкий способ комбинировать различные контракты.
public interface Drawable {
void draw();
}
public interface Resizable {
void resize(int width, int height);
}
public class Circle implements Drawable, Resizable {
@Override
public void draw() {
System.out.println("Drawing circle");
}
@Override
public void resize(int width, int height) {
System.out.println("Resizing to " + width + "x" + height);
}
}В этом примере класс Circle имплементирует два интерфейса: Drawable и Resizable. Он обязан предоставить реализацию всех методов из обоих интерфейсов. Если интерфейсы содержат методы с одинаковой сигнатурой, конфликта не возникает, так как реализация одна.
Вывод: множественная имплементация интерфейсов — мощный инструмент для создания гибкой и модульной архитектуры. Она позволяет разделять контракты и комбинировать их в одном классе, что особенно полезно при проектировании систем с различными аспектами поведения.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию