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

Для чего нужно использовать конструктор при внедрении зависимости

Конструкторы в Java используются для внедрения зависимостей (Dependency Injection), чтобы явно указать, какие зависимости требуются классу. Это делает код более прозрачным, тестируемым и соблюдает принцип инверсии зависимостей (DIP).

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

  • Четко видно зависимости класса
  • Обязательность зависимостей (нельзя создать объект без них)
  • Проще тестировать (можно передавать mock-объекты)

Пример:

java
public class OrderService {
    private final PaymentGateway paymentGateway;
    
    public OrderService(PaymentGateway paymentGateway) {
        this.paymentGateway = paymentGateway;
    }
    
    public void processOrder(Order order) {
        paymentGateway.charge(order.getAmount());
    }
}

Альтернативы (через сеттеры или поля) менее явные и могут привести к NPE, если зависимости не установлены.

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

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

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

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