Встречается на собеседованиях • сегодня
Можно ли заменить абстрактный класс без полей, но с абстрактными методами, на интерфейс
Да, можно. В Java 8+ интерфейсы поддерживают абстрактные методы (по умолчанию), поэтому если абстрактный класс не содержит полей и не имеет состояния, его можно заменить интерфейсом.
Пример замены:
java
// Было:
abstract class Animal {
abstract void makeSound();
}
// Стало:
interface Animal {
void makeSound();
}Преимущества интерфейса:
- Поддержка множественного наследования
- Более гибкая архитектура
- Возможность добавлять default-методы
Ограничение: если в будущем понадобится добавить общее состояние (поля), придется вернуться к абстрактному классу.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы