Junior — Middle
Comment déterminer la seule méthode abstraite dans une interface correspondant à une interface fonctionnelle en Java?
sobes.tech IA
Réponse de l'IA
En Java, une interface fonctionnelle est une interface qui contient exactement une méthode abstraite (SAM — Single Abstract Method). Pour définir cette méthode, il faut s'assurer qu'il n'y a qu'une seule méthode sans implémentation dans l'interface.
Exemple:
@FunctionalInterface
public interface MyFunctionalInterface {
void execute(); // seule méthode abstraite
// On peut ajouter des méthodes avec une implémentation par défaut
default void log() {
System.out.println("Logging...");
}
}
L'annotation @FunctionalInterface n'est pas obligatoire, mais elle est recommandée, car le compilateur vérifiera que l'interface est bien fonctionnelle.
Ainsi, la seule méthode abstraite est celle sans corps, qui définit le contrat de l'interface, et toutes les autres méthodes sont soit absentes, soit ont une implémentation par défaut ou sont statiques.