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

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

Да, в большинстве случаев можно заменить такой абстрактный класс на интерфейс, особенно начиная с Java 8, где интерфейсы поддерживают default и static методы.

Пример до замены:

java
abstract class Animal {
    abstract void makeSound();
    abstract void move();
}

После замены:

java
interface Animal {
    void makeSound();
    void move();
}

Преимущества интерфейса:

  • Поддержка множественного наследования
  • Более гибкая архитектура
  • Возможность добавлять default-методы без нарушения существующей реализации

Исключение - если нужны protected методы или конструкторы, тогда остаётся абстрактный класс.

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

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

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

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