私はクラスを持っていますが、インターフェイス 'IStarcraft'を実装する 'Starcraft'の派生クラスであるCargoShipと言えます。 )(」同様にgetCountを宣言派生クラスで静的に 'count'を設定する必要があります。どのようにアクセスするのですか?
public static void printInstanceNumberPerClass (ArrayList<ISpacecraft> fleet){}
あり、私が考える解決策だと私はそれが動作すると確信している、:
この
は、すべての船の数(インスタンス数)を返すべき関数であります'をISpacecraftに入れ、各SpaceCraft船(私は4つの船がある)でそれを上書きし、それらの誰もが多形性を反復するだけです。 さて、私はそれを得た。関数は静的なので(はい、私はそれを使用するオブジェクトを作成する必要はありません知っている)私はそれが私に別の何かを教えるかもしれないと思った。それはどういう意味ですか?代わりに、すべての船に「静的カウント= 0」を作成することは可能ですか?何とかそれにアクセスしますか?質問はです。私はISpacecraftオブジェクトのarraylistを取得すると、その静的フィールドにどのようにアクセスできますか?
これは悪いですね。スター船を作るための工場の方法を作る。工場では、各スター船をArrayListのようなリストに追加します。クラス(特にインターフェース)に焼き付けられた静的メソッドは悪魔であり、避けるべきです。 – markspace
はい、私は静的がすべてのクラスの間で共有されるので、それは悪いと思います。悪いアイデア。ごめんなさい。感謝の印! –