Eine Schnittstelle, die genau eine abstrakte Methode implementiert, nennt man Funktionale Schnittstelle.
Das annotiert man bei der Schnittstelle mit:
@FunctionalInterface
oberhalb des Kopfes der Schnittstelle.
Wird sie so annotiert, hat aber mehr als nur eine einzige Methode, kommt es zu einem Compilefehler.
Da bei einer funktionalen Schnittstelle nur eine Methode implementiert wird, kann man die Methode mithilfe eines Lambda-Ausdrucks schreiben.
Der Compiler weiß dann automatisch, dass diese eine Methode gemeint ist.
Was man alles weglasen könnte:
Beispiele:
Und die Erzeugung:
Last changed2 years ago