Heim > Java > javaLernprogramm > Hauptteil

Wie kann Java Funktionszeiger für modularen Code nachahmen?

Susan Sarandon
Freigeben: 2024-11-19 09:16:02
Original
884 Leute haben es durchsucht

How Can Java Mimic Function Pointers for Modular Code?

Javas Ersatz für Funktionszeiger

Das Fehlen von Funktionszeigern in Java kann die Erstellung von modularem, wiederverwendbarem Code behindern. Es gibt jedoch eine Lösung: anonyme innere Klassen.

Erwägen Sie die Anforderung, dass mehrere Methoden bis auf eine einzelne Berechnungszeile identische Operationen ausführen müssen. Im Idealfall würde die Übergabe eines Funktionszeigers ausreichen, Java unterstützt dies jedoch nicht. Die Alternative besteht darin, eine Schnittstelle mit der gewünschten Funktion als einzigem Mitglied zu definieren.

Um beispielsweise eine Funktion zu definieren, die eine Zeichenfolge akzeptiert und eine Ganzzahl zurückgibt:

interface StringFunction {
    int func(String param);
}
Nach dem Login kopieren

Jetzt a Eine Methode, die einen Funktionszeiger akzeptiert, kann eine StringFunction-Instanz aufnehmen:

public void takingMethod(StringFunction sf) {
    int i = sf.func("my string");
    // do other operations ...
}
Nach dem Login kopieren

Der Aufruf dieser Methode würde so aussehen:

ref.takingMethod(new StringFunction() {
    public int func(String param) {
        // Implementation for the single changed line
    }
});
Nach dem Login kopieren

In Java 8 kann dies mithilfe von Lambda-Ausdrücken weiter vereinfacht werden :

ref.takingMethod(param -> {
    // Implementation for the single changed line
});
Nach dem Login kopieren

Durch die Verwendung anonymer innerer Klassen oder Lambda-Ausdrücke können Java-Programmierer die Funktionalität von Funktionszeigern erreichen und so Flexibilität und Wiederverwendbarkeit des Codes bieten.

Das obige ist der detaillierte Inhalt vonWie kann Java Funktionszeiger für modularen Code nachahmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage