Вопрос проверяет знание основ ООП и различий между наследованием классов и реализацией интерфейсов.
Да, класс в Java может реализовывать несколько интерфейсов одновременно.
Для этого используется ключевое слово implements с перечислением интерфейсов через запятую.
Это позволяет описывать несколько ролей или контрактов для одного класса.
В отличие от классов, интерфейсы не ограничивают множественную реализацию.
Это один из ключевых механизмов гибкости в Java.
Перед тем как углубляться, важно различать наследование и реализацию.
Класс может наследоваться только от одного класса
Класс может реализовывать любое количество интерфейсов
Причина — интерфейсы не содержат состояния (полей экземпляра), что исключает конфликт данных.
class FileLogger implements Logger, Closeable {
@Override
public void log(String message) {
// логика логирования
}
@Override
public void close() {
// освобождение ресурсов
}
}
Реализация нескольких интерфейсов позволяет:
Разделять поведение на независимые контракты
Использовать полиморфизм
Избегать жесткой иерархии классов
Начиная с Java 8 интерфейсы могут содержать default-методы.
Если два интерфейса содержат default-метод с одинаковой сигнатурой:
Класс обязан переопределить этот метод
Множественная реализация интерфейсов — ключевой инструмент композиции и гибкой архитектуры в Java.