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

Используете ли интерфейсы и абстрактные классы на текущем проекте

Да, активно использую оба подхода. Интерфейсы применяю для определения контрактов (например, сервисных слоев) и реализации полиморфизма. Абстрактные классы — когда нужна общая реализация для группы родственных классов.

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

java
public interface PaymentService {
    void processPayment(double amount);
}

Пример абстрактного класса:

java
public abstract class Animal {
    protected String name;
    
    public Animal(String name) {
        this.name = name;
    }
    
    public abstract void makeSound();
    
    public void eat() {
        System.out.println(name + " is eating");
    }
}

Ключевое отличие: интерфейсы — для "что можно делать", абстрактные классы — для "что есть и как частично работает". В Java 8+ интерфейсы могут иметь default-методы, но абстрактные классы сохраняют преимущество в наличии состояния (полей) и конструкторов.

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

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

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

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