Встречается на собеседованиях • сегодня
В чем разница между интерфейсом и функциональным интерфейсом
Функциональный интерфейс — это частный случай интерфейса, который содержит ровно один абстрактный метод (SAM — Single Abstract Method). Обычный интерфейс может содержать любое количество методов.
Функциональные интерфейсы используются для лямбда-выражений и ссылок на методы. В Java они помечаются аннотацией @FunctionalInterface (хотя это не обязательно, но рекомендуется для ясности).
Пример:
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(5, 3)); // 8
}
}Обычный интерфейс может содержать несколько методов, default-методы и static-методы, но не может быть использован как функциональный, если у него больше одного абстрактного метода.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы