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

Может ли функциональный интерфейс иметь default метод

Да, функциональный интерфейс может содержать default-методы. Главное требование - наличие ровно одного абстрактного метода (не считая методов Object). Default-методы не нарушают это правило, так как они уже реализованы.

Пример:

java
@FunctionalInterface
interface Calculator {
    int calculate(int a, int b); // единственный абстрактный метод
    
    default void printResult(int result) { // default-метод
        System.out.println("Result: " + result);
    }
}

Это часто используется для добавления вспомогательной функциональности без нарушения совместимости с лямбда-выражениями. Например, в стандартном интерфейсе Predicate есть default-методы and(), or() и negate().

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

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

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

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