如何将函数作为参数?
例如:
for(Confetti c : confetti) {
b.draw(someFunction(){strokeWeight(random(10));
}
在五彩纸屑课中会有像
这样的东西draw(void myFunc){
for(int i = 0; i < 10; i++) {
myFunc(); // run it
ellipse(50, 50, 5, 5);
}
}
答案 0 :(得分:2)
你做不到。 Java不会将函数视为第一类对象。你可以做的是用一个包含你想要调用的函数的方法定义一个接口。
interface Confetti {
public void draw();
}
class DrawRandomStroke implements Confetti {
public void draw() {
strokeWeight(random(10));
}
然后将DrawRandomStroke对象传递给您的方法。如果你想使用支持你正在尝试做的并且仍然在java世界中的语言,请查看groovy或scala。