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

Для реализации метода выберешь интерфейс или абстрактный класс

Выбор зависит от ситуации.

Интерфейс предпочтительнее, если:

  • Нужна множественная реализация (Java поддерживает множественное наследование интерфейсов).
  • Требуется только контракт без состояния (полей).
  • Хочется использовать функциональные интерфейсы (лямбды).

Абстрактный класс лучше, если:

  • Есть общая логика или состояние для наследников.
  • Нужны модификаторы доступа (protected методы/поля).

Пример:

java
// Интерфейс для контракта  
interface Drawable {  
    void draw();  
}  

// Абстрактный класс для общей логики  
abstract class Shape {  
    protected String color;  
    abstract double area();  
}  

В современных Java (8+) интерфейсы с default-методами почти заменяют абстрактные классы.

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

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

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

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