スーパークラス 、Entity
、およびそれを拡張する多くのサブクラスがあります。私のコードでは、エンティティの ArrayList をループしてから、次のように定義されたメソッドを呼び出します。
public void doThing(Entity e) {
System.out.println("doThing");
...
...
e.subclassMethod(); //Assuming at this point the code is only calling this when e has the method
}
ただし、subclassMethod
基本クラスではなく特定のサブクラスでのみ定義されているEntity
ため、「メソッド subclassMethod() はエンティティ型に対して未定義です」というエラーが表示されます (もちろん、そうです)。
任意の数の Entity サブクラスをパラメーターとして渡すことができる単一のメソッドを呼び出す必要がある、この状況を処理する正しい方法は何ですか? ありがとう。