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

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

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

Пример:

java
@FunctionalInterface
interface Calculator {
    int calculate(int a, int b);
}

public class Main {
    public static void main(String[] args) {
        Calculator add = (a, b) -> a + b;
        System.out.println(add.calculate(2, 3)); // 5
    }
}

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

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

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

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

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