わかりましたので、私はこのようなクラスの大きな構造を持っています
それは学校用で、私のインストラクターはスタークラフトが好きなので、それで行きましょう.
とにかく、新しいMarineオブジェクトをインスタンス化できると思われるGeneratorBuildingクラスのメソッドがあります。ただし、海兵隊のオブジェクトにかかるリソースの数を知る必要があります。
unitCost() という抽象Unitクラスに抽象 int メソッドがあります。その後、Marineクラスはこのメソッドをオーバーライドし、50 などの値を返します。
特定の Marine オブジェクトを呼び出さずに、私のGeneratorBuildingクラスがMarineクラスの unitCost() メソッドの戻り値を取得する方法を探しています。
おそらく海洋オブジェクトを作成し、そのコストを尋ねて、リソースがない場合はオブジェクトを ArrayList にプッシュする代わりに削除することができることを知っています。しかし、これはほとんど回避策のようです。
編集:全体のポイントは、すべての具象クラスが UnitCost() メソッドを継承およびオーバーライドできるようにすることです。だから私はそれを静的にすることができましたが、それは継承構造の要点全体を台無しにします...
EDIT2:サンプルコードのリクエストがあったため(想像するのは難しいことではありません)
public void makeMarine(){
//uses resources and throws exception etc if there are not enough resources
Game.useResources(Marine.unitCost());
//creates a marine
Game.addMarine();
}