Встречается на собеседованиях • сегодня
Устарел ли абстрактный класс
Абстрактные классы не устарели, но их использование стало более узкоспециализированным после появления интерфейсов с default-методами (Java 8+).
Когда использовать абстрактный класс:
- Нужна реализация части методов
- Требуется состояние (поля класса)
- Необходим конструктор
- Логика тесно связана с наследованием
Когда предпочесть интерфейс:
- Нужна множественная "наследоваемость"
- Требуется только контракт без реализации
- Работа с лямбда-выражениями
Пример:
java
abstract class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
abstract void makeSound();
void sleep() {
System.out.println(name + " is sleeping");
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы