0

私の問題は次のとおりです。

私は2つのクラスを持っています:MainActivityCompartment

MainActivityの配列myComp[][]を作成しますCompartmentCompartmentと呼ばれる静的変数とPpN2、を計算するパブリックメソッドがありますPpN2

このメソッドはを計算する必要がありますmyComp[x][y]PpN2これはの関数ですmyComp[x-1][y].PpN2

myComp[x-1][y].PpN2質問:計算するメソッドでどのようにアクセスできますmyComp[x][y].PpN2か?

4

2 に答える 2

0

静的変数の場合は、参照(または)クラス名を使用してアクセスできます。

例:

Compartment.PpN2

静的変数のため、myComp [x] [y](または)myComp[x-1][y]参照は同じ変数を更新することを忘れないでください。

于 2012-08-24T19:42:09.117 に答える
0

PpN2static ではなくインスタンス変数である必要があり、 calc メソッドが呼び出されたものに渡すMainActivity必要があるようです。myComp[x-1][y]myComp[x][y].calcPpN2()

あるいは、計算が依存するCompartment前のものへの参照を保持し、構築中にそれを渡すこともできます。PpN2

PpN2おそらく静的であるべき理由は、静的であるため、その値が type のすべてのインスタンスによって共有されるためCompartmentです。インスタンス変数として、個々のCompartmentオブジェクトはそれぞれ独自のPpN2値を持ちます。

于 2012-08-24T19:47:52.870 に答える