我已经成功完成了Visual Basic的这一工作,我只想知道是否有一种简单的方法可以用Java来完成此工作。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是一个strickly基类。
Partical派生自GameEntity类。
我想让for循环做的是迭代GameEntity的Collection并从Collection中挑选所有的Partical类。
我的问题是我得到一个“不兼容类型”错误。我意识到他们是不同的类型。
你知道'instanceof'吗? – 2013-03-09 19:42:59