私は次のように損傷可能なインターフェースを持っています
public interface Damageable {
public void handleCollision(float impulse);
}
このインターフェースを実装するクラス、BaseObject
public class BaseObject implements Damageable
3番目のクラスには、BaseObject型のArrayListがあります。
public class ObjectManager {
public ArrayList<BaseObject> bodies;
私がやろうとしているのは、ArrayList本体をArrayListを受け入れる別のクラスのメソッドに渡すことです。
public CollisionManager( ArrayList<Damageable> _bodies) {
bodies = _bodies;
}
Javaでは、bodyがArrayList型で、BaseObjectがDamageableを実装している新しいCollisionManager(body)を実行できません。
キャストしてみました。ArrayList<BaseObject>
からArrayListにキャストできないと
言います。また、を使用してみClass<? extends Damageable>
ましたが、Damaageableインターフェイスで宣言されたメソッドを呼び出すことができません。ArrayListを渡すにはどうすればよいですか?