メソッドを参照渡しする方法を探しています。Java がメソッドをパラメーターとして渡さないことは理解していますが、代替手段を取得したいと考えています。
インターフェースはメソッドをパラメーターとして渡す代わりになると言われましたが、インターフェースが参照によってメソッドとして機能する方法がわかりません。私が正しく理解していれば、インターフェイスは単に定義されていないメソッドの抽象的なセットです。いくつかの異なるメソッドが同じパラメーターで同じメソッドを呼び出す可能性があるため、毎回定義する必要があるインターフェイスを送信したくありません。
私が達成したいのは、これに似たものです:
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
}
次のように呼び出されます。
setAllComponents(this.getComponents(), changeColor());
setAllComponents(this.getComponents(), changeSize());