Какое максимальное количество методов с реализациями по умолчанию допускается в функциональном интерфейсе?

В функциональном интерфейсе (в Java — интерфейс с одним абстрактным методом) допускается любое количество методов с реализацией по умолчанию (default methods). Ограничений на количество default-методов нет.

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

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

В функциональном интерфейсе (в Java — интерфейс с одним абстрактным методом) допускается любое количество методов с реализацией по умолчанию (default methods). Ограничений на количество default-методов нет.

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

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

В функциональном интерфейсе (в Java — интерфейс с одним абстрактным методом) допускается любое количество методов с реализацией по умолчанию (default methods). Ограничений на количество default-методов нет.

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

Пример:

@FunctionalInterface
public interface MyFunction {
    void apply(); // единственный абстрактный метод

    default void log() {
        System.out.println("Logging...");
    }

    default void reset() {
        System.out.println("Resetting...");
    }
}

Таким образом, функциональный интерфейс может иметь сколько угодно default-методов, но только один абстрактный.

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

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

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

Подробнее