我正在寻找通过引用传递方法的方法.我知道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());