Ответ
Функциональный интерфейс — это интерфейс с одним абстрактным методом (SAM — Single Abstract Method). Он может содержать дефолтные или статические методы, но должен иметь только один нереализованный метод. Используется в лямбда-выражениях и ссылках на методы.
Пример в Kotlin:
fun interface OnClickListener {
fun onClick(view: View)
}
// Использование:
val listener = OnClickListener { view ->
println("Clicked!")
}
В Java аннотация @FunctionalInterface явно указывает на такое назначение интерфейса, хотя и не обязательна. Примеры: Runnable, Comparator, Consumer.
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶