Sobes.tech
Junior — Middle

Como determinar o único método abstrato numa interface que corresponde a uma interface funcional em Java?

sobes.tech IA

Resposta da IA

Em Java, uma interface funcional é uma interface que contém exatamente um método abstrato (SAM — Single Abstract Method). Para definir esse método, é necessário garantir que na interface exista apenas um método sem implementação.

Exemplo:

@FunctionalInterface
public interface MyFunctionalInterface {
    void execute(); // único método abstrato

    // Pode-se adicionar métodos com implementação padrão
    default void log() {
        System.out.println("Logging...");
    }
}

A anotação @FunctionalInterface não é obrigatória, mas é recomendada, pois o compilador verificará se a interface é realmente funcional.

Assim, o único método abstrato é aquele sem corpo, que define o contrato da interface, e todos os outros métodos ou não existem, ou têm implementação padrão ou são estáticos.