0

スーパークラス 、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 サブクラスをパラメーターとして渡すことができる単一のメソッドを呼び出す必要がある、この状況を処理する正しい方法は何ですか? ありがとう。

4

1 に答える 1