Rückrufe in Java sind hilfreich, wenn Sie eine Methode , um einen Verweis auf eine andere Methode als Argument akzeptieren müssen . Zum Beispiel könnte ein Graph Verfahren nehmen eine "Sünde" oder " Cosinus "-Funktion als Parameter. In Java kann man nicht senden Funktionszeiger wie Sie in C können , so müssen Sie sich Rückrufe durch die Verwendung von Schnittstellen simulieren. Eine Schnittstelle kann als Argument übergeben und dann die entsprechende Implementierung stellt die Version des Codes auszuführen . Anleitung
1
Öffnen Sie Ihre Java-Datei in einem Editor wie Eclipse , Netbeans oder JBuilder X.
2
Erstellen Sie eine Schnittstelle und zwei Klassen, die die Schnittstelle implementieren , indem Sie die folgenden Code oben Ihre Hauptfunktion :
Schnittstelle Fruit {
nichtig callback_method (); }
Klasse implementiert Apple- Fruit {
< p > public void callback_method () {
System.out.println (" Callback - Apfel "); }
}
Klasse implementiert Banana Fruit {
public void callback_method () {
System.out.println (" Callback - Banana "); }
}
< p> Jede Klasse , die die Schnittstelle implementiert, muss eine Version der Methode in der Schnittstelle definiert .
3
erstellen " Anrufer " -Klasse, die eine Methode , um den Rückruf , indem der Eingeweihte hat Code :
Klasse Caller {
öffentliches Register ( obst ) {
fruit.callback_method (); }
}
im Beispiel kann der " Register "-Methode entweder einen "Apfel" oder " Banane " als Eingabe und führen Sie dann den passenden " callback_method " für diese Version.
4
erstellen " Caller ", " Apple" und " Banana "-Objekte und dann passieren beide Versionen des "Fruit ", um die " Caller" Objekts " Register "-Methode , indem Sie den folgenden Code als Ihre Hauptfunktion :
< p > public static void main ( String [] args) {
Anrufer Anrufer = new Caller ( );
Früchte Apfel = neue Apple (); //Apple-Version von Fruit
< p> Obst Banane = new Banana (); //Banana Version von Fruit
caller.register (Apfel) //Displays "Rückruf - Apfel "
caller.register (Banane ); //zeigt "Rückruf - Banana "
}
diese Weise können Sie vermeiden, dass mehrere Versionen der " Caller" Klasse für jede Anwendung zu erstellen. Jede Implementierung von " Fruit" auf die weitergegeben werden können " Caller ", der lädt die entsprechenden Callback-Methode für diese Version.
5
Speichern Sie die Java -Datei, kompilieren und starten Sie das Programm , um die Rückrufe zu sehen.