私は相続を実践しています。
1つの配列に同化したい2つの類似したクラスがあるので、すべてがObjectのサブクラスであるため、Objectクラスをスーパークラスとして使用することを考えました。
したがって、たとえば、TクラスとCTクラスを次のように呼び出される配列に入れます。
Object all[] = new Object[6];
all[0] = T1;
all[1] = CT2;
all[2] =T3;
all[3] = CT1;
all[4] = T2;
all[5] = CT3;
それは私の問題ではないので、私は宣言をスキップしました。
私の本当の問題は、ループを利用して配列内の関数を呼び出したいときに発生します。
for (int i = 0; i < 6; i++) {
all[i].beingShot(randomNum, randomNum, AK47.getAccuracy());
}
TとCTにそれぞれ関係するクラスには、パブリックであるbeingShotメソッドがあります。
Eclipseは、簡単な修正としてそれらをキャストすることをお勧めします。長期的には、beingShotメソッドを保持する独自のObjectクラスを作成するか、これをObjectのクラスに追加する以外に、論理的な代替手段があるかどうか疑問に思っています。
ありがとう!