404 Stimmen

Java Methode als Parameter übergeben

Ich suche nach einer Möglichkeit, eine Methode per Referenz zu übergeben. Ich weiß, dass Java keine Methoden als Parameter übergibt, aber ich würde gerne eine Alternative finden.

Mir wurde gesagt, dass Schnittstellen die Alternative zur Übergabe von Methoden als Parameter sind, aber ich verstehe nicht, wie eine Schnittstelle als Methode per Referenz fungieren kann. Wenn ich es richtig verstehe, ist eine Schnittstelle einfach ein abstrakter Satz von Methoden, die nicht definiert sind. Ich möchte keine Schnittstelle senden, die jedes Mal definiert werden muss, weil mehrere verschiedene Methoden dieselbe Methode mit denselben Parametern aufrufen könnten.

Was ich erreichen möchte, ist etwas Ähnliches wie dies:

public void setAllComponents(Component[] myComponentArray, Method myMethod) {
    for (Component leaf : myComponentArray) {
        if (leaf instanceof Container) { //recursive call if Container
            Container node = (Container) leaf;
            setAllComponents(node.getComponents(), myMethod);
        } //end if node
        myMethod(leaf);
    } //end looping through components
}

aufgerufen werden, wie zum Beispiel:

setAllComponents(this.getComponents(), changeColor());
setAllComponents(this.getComponents(), changeSize());

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X