0

我在java编程中有一个问题,我怎样才能让一个类的所有对象在java中同时调用它们自己的方法?

预先感谢。

4

2 回答 2

1

根据我对您的问题的理解,您为什么不将类的所有实例保存在一个集合中,然后遍历它们并在所有实例上调用您希望的方法?

于 2013-02-02T15:44:51.633 回答
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 的所有实例。稍后您可以遍历它们。

于 2013-02-02T16:00:25.723 回答