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

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

Абстрактные классы и интерфейсы служат разным целям, но могут дополнять друг друга.

Абстрактный класс в интерфейсе – это противоречие, так как интерфейс определяет контракт (что делать), а абстрактный класс может содержать реализацию (как делать). Однако:

  1. Интерфейс + абстрактный класс – часто используется для предоставления дефолтной реализации. Например:
java
interface Vehicle {
    void start();
    void stop();
}

abstract class AbstractVehicle implements Vehicle {
@Override
public void start() {
System.out.println("Starting...");
}
// stop() остается абстрактным
}

text

2. **Абстрактный класс не может быть внутри интерфейса**, но интерфейс может содержать статические или дефолтные методы, которые заменяют часть функциональности абстрактных классов.  

Используйте абстрактные классы, когда нужна общая логика для группы классов, а интерфейсы – для определения поведения.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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