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.