Что такое функциональный интерфейс?

Функциональный интерфейс – это разновидность интерфейса, в котором определена функция обратного вызова (callback). В функциональном интерфейсе может быть всего один абстрактный метод, в нём может находиться неограниченное число методов default, а также переобъявленные методы, наследуемые от Object.

Функциональный метод может иметь неограниченное количество аргументов. На тип возвращаемого значения также и список возможных исключений (как проверяемых, checked, так и непроверяемых, unchecked) не накладывается никаких ограничений.

Функциональный интерфейс рекомендуется помечать с помощью аннотации @FunctionalInterface. Это говорит компиляторы о необходимости выполнить дополнительную проверку. Если поставить данную аннотацию на нефункциональном типе во время компиляции появиться сообщение об ошибке.

Примеры FunctionalInterface: Callable, Supplier, Comparable:

@FunctionalInterface
interface IAmFunctional {
  String toString();
  void callback();
  default void extraAction() {};
}
@Functionallnterface
abstract class NonFunctional {
  abstract void callback();
}
Поделиться уроком

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *