Methode als Übergabeparameter

kossy

Bekanntes Mitglied
Hallo !

Kann ich eigentlich eine Methode selbst als Übergabeparameter innerhalb einer anderen Methode definieren und die zu übergebene Methode auch weitere Übergabeparameter in Form einer Datenstruktur hat? Wie genau muss ich das machen?

Grüße
Kossy
 
Joa, könnte man machen, es gibt eine Klasse die heißt Method, die könntest du zusammen mit ein paar Parametern übergeben... aber sowas macht man in Java nicht.
Lass deine Methode besser ein Interface erwarten dass eine Methode besitzt die du aufrufen möchtest (siehe bspw. Comparator).
 
Das hört sich an wie Closures, die in Java 8 kommen werden. Im Moment bleibt nur die Möglichkeit (damit es kurz wird) innere anonyme Klassen einzusetzen. Wenn du etwa der Methode foo() Programmcode übergeben möchtest, deklariere:

Java:
void foo( Runnable code ) { ... }

und rufe auf

Java:
ref.foo( new Runnable() { @Override public void run() {
 // dein code
} } );
 
nur zur Sicherheit: es muss nicht das Runnable Interface sein, es ist nur ein Bsp. Ist in der gleichen Kategorie wie Callback/Listener
 
Garantiert ist das hier ein Designfehler.

Abhängig von den anderen Fragen von Kossy, wird er niemals auf Closures hinaus wollen ;D
 

Zurück
Oben