Erstellen von Funktionszeigern in Java
In Java fehlt das Konzept von Funktionszeigern, die häufig verwendet werden, um Funktionen als Argumente an andere Funktionen zu übergeben. Es gibt jedoch Alternativen, die eine ähnliche Funktionalität bieten, wie etwa anonyme innere Klassen.
Stellen Sie sich eine Methode vor, die eine kleine Berechnung beinhaltet, die sich bei mehreren Methoden unterscheidet. Eine ideale Lösung wäre die Übergabe eines Funktionszeigers zur Verarbeitung dieser Codezeile.
Anonyme innere Klassen zur Rettung
Anonyme innere Klassen ermöglichen es Ihnen, eine zu erstellen Instanz einer Schnittstelle oder abstrakten Klasse direkt in Ihrem Code, ohne dass eine separate Klasse definiert werden muss. Diese Technik kann verwendet werden, um Funktionszeiger in Java zu simulieren.
Wenn Sie beispielsweise eine Funktion mit einem String-Parameter übergeben möchten, der eine Ganzzahl zurückgibt, können Sie eine Schnittstelle definieren:
interface StringFunction { int func(String param); }
Eine Methode, die diesen Funktionszeiger akzeptiert, würde eine StringFunction-Instanz annehmen:
public void takingMethod(StringFunction sf) { int i = sf.func("my string"); // do whatever ... }
Sie können diese Methode wie folgt aufrufen:
takingMethod(new StringFunction() { public int func(String param) { // body } });
In Java 8 und höher ist dies möglich Vereinfachen Sie diesen Code mithilfe von Lambda-Ausdrücken:
takingMethod(param -> bodyExpression);
Anonyme innere Klassen bieten eine praktikable Alternative zu Funktionszeigern in Java, indem sie es Ihnen ermöglichen, Funktionen als Argumente über eine Schnittstellenimplementierung zu übergeben. Sie ermöglichen es Ihnen, wiederverwendbare Codeblöcke zu erstellen, die leicht an bestimmte Aufgaben angepasst werden können.
Das obige ist der detaillierte Inhalt vonWie kann ich Funktionszeiger in Java simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!