que tiene una interfaz dañables de la siguiente maneraJava - pasando ArrayList de tipo de interfaz
public interface Damageable {
public void handleCollision(float impulse);
}
una clase que implementa esta interfaz, BaseObject
public class BaseObject implements Damageable
Ahora en una tercera clase, tengo un ArrayList de el tipo BaseObject
public class ObjectManager {
public ArrayList<BaseObject> bodies;
Lo que estoy tratando de hacer es pasar los cuerpos de ArrayList a un método de anoth er clase que acepta ArrayList
public CollisionManager(ArrayList<Damageable> _bodies) {
bodies = _bodies;
}
Java no me deja hacer nuevos CollisionManager (cuerpos) donde los cuerpos es de tipo ArrayList y BaseObject implementa dañables
He tratado de fundición. Dice que no puede transmitir desde ArrayList<BaseObject>
a ArrayList También intenté usar Class<? extends Damageable>
pero luego no puedo llamar a los métodos declarados en la interfaz Daños. ¿Cómo puedo pasar ArrayList?
Salida este post: ¿Cuál es http://stackoverflow.com/questions/6965035/why-cant-a-method-take-a-collectionsubclass-when-the-methods-signature-is-de – SirPentor