我有一个超类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() 未定义实体类型”(当然是这样)。
处理这种情况的正确方法是什么,我需要调用一个方法,该方法可以将任意数量的实体子类作为参数传递?谢谢。