【发布时间】:2012-05-23 02:07:46
【问题描述】:
我有一个Damageable接口如下
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
也尝试使用Class<? extends Damageable>,但我无法调用在接口Damageable中声明的方法。如何传递 ArrayList?
【问题讨论】: