Ответ
Функциональный интерфейс — это интерфейс с одним абстрактным методом (SAM — Single Abstract Method). Он может содержать дефолтные или статические методы, но должен иметь только один нереализованный метод. Используется в лямбда-выражениях и ссылках на методы.
Пример в Kotlin:
fun interface OnClickListener {
fun onClick(view: View)
}
// Использование:
val listener = OnClickListener { view ->
println("Clicked!")
}
В Java аннотация @FunctionalInterface явно указывает на такое назначение интерфейса, хотя и не обязательна. Примеры: Runnable, Comparator, Consumer.
Видео-ответы
▶
Успешное собеседование Middle Java в холдинг T1
▶
Тестовое интервью в МТС на Middle Java
▶
Собеседование на позицию Java Dev
▶
Интервью c Java-разработчиком из X5: теория(паттерны проектирования, Exception Handler), live-кодинг
▶
Как пройти собеседование на Java разработчика: вопросы, ответы, разбор ошибок
▶
Тестовое собеседование Java разработчика #24 - Никита Ким
▶
Собеседование Java Junior | Алексей Сытый vs. Максим Добрынин | Jetbulb
▶
Mock собеседование на позицию Java Junior Developer #3
▶
Собеседование на позицию Java junior #1 Антон
▶
Техническое интервью Java Developer - Максим Стеблевский
▶
Техническое интервью Java Developer - Юрий Мусиенко
▶
Техническое интервью Java Developer - Артем Рутковский
▶
Тестовое собеседование Java разработчика #16 - Павел Хшановский
▶
Тестовое собеседование Java разработчика #9 - Денис Шувалов