我已经用 Visual Basic 成功地做到了这一点,我只想知道是否有一种简单的方法可以用 Java 做到这一点。
我想要一个 For 循环,它将遍历基类集合中的派生类。
public class Game{
private Collection<GameEntity> entities;
// Methods would go here to control GameEntity's
private abstract class GameEntity{
protected Game owner; //Defines which instance Game owns this Entity
public GameEntity(Game owner) {
this.owner=owner;
}
public abstract void tick();
}
private class Partical extends GameEntity{
public Partical(Game owner) {
super(owner);
}
public void tick(){
for (Partical p : owner.entities) { //HERE IS MY PROBLEM
if(p != this){ //Don't do physics with itself
}
}
}
}
}
好的,所以在这里我有我的 Game 类,它有一个 GameEntity 的集合,但 GameEntity 严格来说是一个基类。
Partical 派生自 GameEntity 类。
我想要 for 循环做的是遍历 GameEntity 的集合并从 Collection 中挑选出所有的 Partical 类。
我的问题是我收到“不兼容的类型”错误。我确实意识到它们是不同的类型。