Sobes.tech
Junior — Middle

Pode uma interface que contém apenas um método ser considerada uma interface funcional de acordo com os padrões Java?

sobes.tech IA

Resposta da IA

Да, в Java интерфейс, который содержит ровно один абстрактный метод, считается функциональным интерфейсом. Это определение закреплено в спецификации Java 8 и выше. Такой интерфейс можно использовать в лямбда-выражениях и ссылках на методы.

Для явного указания, что интерфейс является функциональным, используется аннотация @FunctionalInterface, хотя она не обязательна, но помогает компилятору проверять соответствие.

Пример:

@FunctionalInterface
public interface MyFunction {
    void execute();
}

// Использование с лямбда-выражением
MyFunction func = () -> System.out.println("Hello");
func.execute();