我有一个可损坏的接口,如下所示
public interface Damageable {
public void handleCollision(float impulse);
}
实现此接口的类 BaseObject
public class BaseObject implements Damageable
现在在第三类中,我有一个 BaseObject 类型的 ArrayList
public class ObjectManager {
public ArrayList<BaseObject> bodies;
我想要做的是将 ArrayList 主体传递给另一个接受 ArrayList 的类的方法
public CollisionManager( ArrayList<Damageable> _bodies) {
bodies = _bodies;
}
Java 不允许我在 body 类型为 ArrayList 且 BaseObject 实现 Damageable 的情况下执行 new CollisionManager(bodies)
我试过铸造。说不能从
ArrayList<BaseObject>
ArrayList 转换为 ArrayList 也尝试过使用Class<? extends Damageable>
,但后来我无法调用接口 Damageable 中声明的方法。如何传递 ArrayList?