我在java编程中遇到问题,如何让一个类的所有对象在java中同时调用自己的方法?
提前谢谢。
答案 0 :(得分:1)
根据我对你的问题的理解,你为什么不把这个类的所有实例都保存在一个集合中,然后迭代它们并调用你想要的方法呢?
答案 1 :(得分:0)
以下是我对您的问题所理解的示例代码:
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的所有实例。稍后你可以迭代它们。