0

クラスの1つのインスタンスごとにメソッドを呼び出したいのですが、それを実行する方法がわかりません。

public class demostration{
    public void m(){

    }
}
demonstration d = new demonstration();
demonstration p = new demonstration();

デモンストレーションのすべてのインスタンスがそのメソッドを実行するように、メソッドmを呼び出すにはどうすればよいですか?つまり、書くのと同じ効果があります

d.m();
p.m();
4

2 に答える 2

3

新しいインスタンスを作成するときはいつでも、それをある種の可変配列に入れてください。各インスタンスのメソッドmを呼び出す場合は、インスタンスの配列をループして、各インスタンスでmを呼び出します。

于 2012-11-02T21:38:07.623 に答える
2

他の人が言っているように、インスタンスをに入れるのArrayListが最も理にかなっています。あなたはこれを試すことができます:

 demonstration a = new demonstration();
 demonstration b = new demonstration();
 demonstration c = new demonstration();

 ArrayList<demonstration> demos = new ArrayList<demonstration>();
 demos.add(a); 
 demos.add(b);
 demos.add(c);

 for(Demonstration d : demos) {

    d.m();

 }

また、私の観点からすれば、ちょっと気の毒なことです。クラス名を大文字で始めるのはJavaスタイルの構文としては良いので、Demonstrations`の方が良い名前かもしれません。ただ私の意見:D

于 2012-11-02T21:42:04.703 に答える