我在java编程中有一个问题,我怎样才能让一个类的所有对象在java中同时调用它们自己的方法?
预先感谢。
根据我对您的问题的理解,您为什么不将类的所有实例保存在一个集合中,然后遍历它们并在所有实例上调用您希望的方法?
这是我对您的问题的理解的示例代码:
public class Flip {
private static List<Flip> instances = new ArrayList<Flip>();
[... fields, etc]
public Flip() {
[...init the fields]
synchronized(instances) {
// if you access the instances list, you have to protect it
instances.add(this); // save this instance to the list
}
}
[... methods]
public void calculate() {
synchronized(instances) {
// if you access the instances list, you have to protect it
for (Flip flip : instances) {
// call the doCalculate() for each Flip instance
flip.doCalculate();
}
}
}
private void doCalculate() {
[... here comes the original calculation logic]
}
}
关键是您必须以某种方式注册 Flip 的所有实例。稍后您可以遍历它们。