Я встретил новый термин в Java 8: «функциональный интерфейс». Я мог найти только одно применение при работе с лямбда-выражениями .
Java 8 предоставляет несколько встроенных функциональных интерфейсов, и если мы хотим определить какой-либо функциональный интерфейс, мы можем использовать @FunctionalInterfaceаннотацию. Это позволит нам объявить только один метод в интерфейсе.
Например:
@FunctionalInterface
interface MathOperation {
int operation(int a, int b);
}
Насколько это полезно в Java 8, кроме работы с лямбда-выражениями ?
(Вопрос здесь отличается от того, который я задавал. Он спрашивает, зачем нам нужны функциональные интерфейсы при работе с лямбда-выражениями. Мой вопрос: почему другие применения используются функциональными интерфейсами помимо с лямбда-выражениями?)