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

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

Нет, функциональный интерфейс в Java может иметь только один абстрактный метод (SAM - Single Abstract Method). Однако он может содержать любое количество default и static методов, а также методы из Object (например, toString(), equals()).

Пример допустимого функционального интерфейса:

java
@FunctionalInterface
interface MyFunctionalInterface {
    void execute(); // единственный абстрактный метод
    
    default void log(String message) {
        System.out.println(message);
    }
    
    static void printVersion() {
        System.out.println("1.0");
    }
}

Если добавить второй абстрактный метод, компилятор выдаст ошибку, так как интерфейс перестанет быть функциональным.

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

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

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

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