Junior — Middle
Peut-on considérer une interface contenant une seule méthode comme une interface fonctionnelle selon les normes Java ?
sobes.tech IA
Réponse de l'IA
Да, в Java интерфейс, который содержит ровно один абстрактный метод, считается функциональным интерфейсом. Это определение закреплено в спецификации Java 8 и выше. Такой интерфейс можно использовать в лямбда-выражениях и ссылках на методы.
Для явного указания, что интерфейс является функциональным, используется аннотация @FunctionalInterface, хотя она не обязательна, но помогает компилятору проверять соответствие.
Пример:
@FunctionalInterface
public interface MyFunction {
void execute();
}
// Использование с лямбда-выражением
MyFunction func = () -> System.out.println("Hello");
func.execute();