Зачем нужен дефолтный метод в интерфейсе?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Это позволяет:

  • Добавлять новые методы в интерфейс без нарушения существующих реализаций.
  • Предоставлять стандартное поведение, которое можно переопределить при необходимости.

Например, в Java 8 дефолтные методы позволяют расширять интерфейсы, не ломая обратную совместимость.

Пример на Java:

public interface Logger {
    void log(String message);

    default void logError(String error) {
        log("ERROR: " + error);
    }
}

Здесь logError имеет дефолтную реализацию, и классы, реализующие Logger, могут не писать этот метод, если стандартное поведение их устраивает.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее