@hobart.rath
Функциональные интерфейсы в Java - это интерфейсы с единственным абстрактным методом. Они используются для создания лямбда-выражений и методов ссылок на методы. Функциональные интерфейсы включают такие интерфейсы как Predicate, Consumer, Function, Supplier, и т.д. Они позволяют создавать более компактный и читаемый код благодаря использованию лямбда-выражений вместо создания анонимных классов.
@hobart.rath
Функциональные интерфейсы является ключевой особенностью введенной в Java 8, а именно в пакете java.util.function. Ключевой спецификацией для функциональных интерфейсов является наличие единственного абстрактного метода (abstract method). Другие методы в таком интерфейсе могут быть методами по умолчанию (default methods) или статическими методами.
Java уже предоставляет ряд стандартных функциональных интерфейсов, таких как:
Используя функциональные интерфейсы, можно лаконично и элегантно описывать поведение в виде лямбда-выражений. При этом, код становится более читаемым и поддерживаемым.