Informationen zur Java-Funktionsschnittstelle

Was ist eine funktionale Schnittstelle?

Eine Schnittstelle mit nur einer abstrakten Methode, die als Zuweisungsziel für die Übergabe von Lambda-Ausdrücken und Methodenreferenzen verwendet werden kann.

Funktionsschnittstellenbedingungen

** ・ Sie können nur eine abstrakte Methode verwenden -Abstraktionsmethoden, die öffentliche Methoden der Object-Klasse sind, sind nicht enthalten -Sie können mehrere Standardmethoden und statische Methoden haben **

Die Definition der Funktionsschnittstelle ist wie folgt geschrieben.

main.java



@FunctionalInterface
public interface Sample {
    public abstract void Hello(String name);
}

Durch Annotieren von ** @ FunctionalInterface ** können Sie klar angeben, dass es sich um eine funktionale Schnittstelle handelt. Dies führt zu einem Kompilierungsfehler, wenn die Schnittstelle die Bedingungen für eine funktionale Schnittstelle nicht erfüllt.

Art

Das Paket java.util.function bietet verschiedene Arten von Funktionsschnittstellen. Es kann gemäß dem Muster des empfangenen Arguments und dem zurückgegebenen Ergebnis grob in vier Typen unterteilt werden. Die grundlegende Funktionsschnittstelle ist wie folgt.

Art Abstrakte Methode Was du tun kannst
Supplier T get() Gibt einen Rückgabewert vom Typ T ohne Argumente zurück
Consumer void accept(T t) Gibt die Verarbeitung zurück (es wird kein Wert zurückgegeben).
Function<T, R> R apply(T t) Nimmt T als Argument und gibt R als Ergebnis zurück
Predicate boolean test(T t) Nimmt ein Argument vom Typ T und gibt als Ergebnis den Wert von boolean zurück

Es gibt andere Typen, z. B. eine Schnittstelle, wenn zwei Argumente vorhanden sind. Verwenden Sie sie daher entsprechend dem Zweck ordnungsgemäß.

Recommended Posts

Informationen zur Java-Funktionsschnittstelle
Über die Java-Schnittstelle
[Java] -Schnittstelle
[Java] Funktionsschnittstelle
Über Schnittstelle, Java-Schnittstelle
Java-Standardfunktionstyp-Schnittstelle
[Java] Funktionsschnittstelle / Lambda-Ausdruck
Java (Schnittstelle)
[Java] -Schnittstelle
[Java-Anfänger] Über Abstraktion und Schnittstelle
[Java] Informationen zu Java 12-Funktionen
[Java] Über Arrays
Einführung der Funktionsschnittstelle
Etwas über Java
Wo ist mit Java?
Informationen zu Java-Funktionen
Über Java-Threads
Über die Java-Klasse
Informationen zu Java-Arrays
Über Java-Vererbung
Über Java Var
Über Java Literal
Informationen zu Java-Befehlen
Java, über zweidimensionales Array
Über die Klassenteilung (Java)
Kommentar: Über die Schnittstelle
Über [Java] [StreamAPI] allMatch ()
Informationen zur Java StringBuilder-Klasse
Aufrufbare Schnittstelle in Java
Ein Überprüfungshinweis zur Funktionsoberfläche
[Java] Über Singleton Class
Informationen zur Bindung von Java-Methoden
[Java] Über anonyme Klassen
Informationen zu Aufteilungsmethoden (Java)
[Java Silver] Informationen zur Initialisierung
Informationen zur Java-Array-Liste
Über Java-Polymorphismus super ()
Informationen zur Vererbung (Java Silver)
Informationen zur Java String-Klasse
Informationen zu Java-Zugriffsmodifikatoren
Über Java-Lambda-Ausdrücke
Informationen zu Java-Einstiegspunkten
Java 10 Docker-Unterstützung
Persönliche Zusammenfassung über Java
Java-Lernnotiz (Schnittstelle)
Über die abstrakte Klasse von Java
Hinweise zu Java GC
Zusammenfassung der erweiterten Vererbung, Schnittstelle -java
Was ich über Java 8 recherchiert habe
Über Java-Instanzen
Vererbung der JAVA-Lernverlaufsschnittstelle
Was ich über Java 6 recherchiert habe
[Gradle] Informationen zu Java-Plug-In-Aufgaben
Probieren Sie den Funktionstyp in Java aus! ①
Informationen zu Java-Variablendeklarationsanweisungen
Was ich über Java 9 recherchiert habe
[Java] Informationen zur Behandlung von Try-Catch-Ausnahmen