在java中同时调用所有类对象中的方法

时间:2013-02-02 15:12:57

标签: java

我在java编程中遇到问题,如何让一个类的所有对象在java中同时调用自己的方法?

提前谢谢。

2 个答案:

答案 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的所有实例。稍后你可以迭代它们。