Java Core trainee
Что такое функциональный интерфейс?
Ответ
Интерфейс с РОВНО ОДНИМ абстрактным методом (default и static не считаются). Можно реализовать лямбдой. @FunctionalInterface — необязательная аннотация для compile-time проверки.
Разбор: Функциональный интерфейс содержит ровно один абстрактный метод (SAM), при этом default- и static-методы не учитываются, а аннотация @FunctionalInterface лишь опционально включает compile-time проверку. Ловушки: лямбда требует именно одного абстрактного метода (не нуля и не нескольких), а аннотация не обязательна для совместимости с лямбдой.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.