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

Можно ли было интерфейс Collection сделать абстрактным классом

Технически можно, но это было бы плохим дизайном. Интерфейс Collection - это контракт, а не реализация. Абстрактный класс навязывает иерархию наследования, что ограничивает гибкость.

Пример проблемы:

java
// Если бы Collection был абстрактным классом
class MyCustomCollection extends SomeOtherClass {
    // Нельзя наследовать Collection, если уже есть родитель
}

Плюсы интерфейса:

  • Множественное наследование интерфейсов
  • Более гибкая архитектура
  • Чистый контракт без привязки к реализации

В Java 8+ интерфейсы с default-методами почти сравнялись по возможностям с абстрактными классами, но сохранили преимущества.

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

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

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

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