2017-10-15 1 views

Antwort

1

Ich werde Sie kommen von einem JavaScript-Hintergrund erraten?

Traditionell hatte Java keine Möglichkeit, dies zu tun. Stattdessen würden Sie eine anonyme Instanz einer Schnittstelle, wie dies passieren:

interface Runner{ 
    public void run(); 
} 

class Fractal { 
    String name; 
    Runner initialize; 
    Fractal(String name, Runner setup) { 
     ... 
    } 
} 

Runner r = new Runner(){ 
    public void run(){ 
     // whatever 
    } 
} 

Fractal fractal = new Fractal("name here", r); 

Beachten Sie, dass Java eine Runnable-Schnittstelle bietet, die Sie stattdessen Ihre eigenen schaffen können, aber ich wollte es buchstabieren hier, um es offensichtlicher zu machen.

Ab Java 8 können Sie einen Verweis auf eine Funktion als Parameter übergeben. Dies wird Lambda-Funktion genannt. Googeln "Java Lambda-Funktion" wird eine Tonne Ergebnisse zurückgeben.

Von this answer:

public void pass() { 
    run(()-> System.out.println("Hello world")); 
} 

public void run(Runnable function) { 
    function.run(); 
} 

Je nachdem, wie Sie Verarbeitung verwenden, könnten Sie allerdings mit dem ersten Ansatz stecken, da ich die Verarbeitung Editor nicht denken unterstützt Java 8 vor.

+0

Danke, es funktioniert wirklich gut. und du hast Recht mit meinem Javascript. – Nikos

Verwandte Themen