我怎么能打电话给标记的班级? 我需要实现Spider类,这样如果它找到了一个Babybug就会被吃掉。
//标记为接口
public interface Eatable {
}
// BabyBug类
public class BabyBug extends Bug implements Eatable{
public Babybug(){
this.setColor(Color.ORANGE);
Age=0;
}
@Override
public void act()
{
super.act();
Location Loc =getLocation();
Grid<Actor> grid =getGrid();
if (this.getAge()>=4){
removeSelfFromGrid();
AdultBug Adult = new AdultBug();
Adult.putSelfInGrid(grid, Loc);
}
return;
}
}
}
// Class Spider是Insect的子类,而Insect是Critter的子类
public class Spider extends Insect
public void act(){
super.act();
}
public void processActors(ArrayList<Actor> actors)
{
for (Actor a : actors)
{
if (a instanceof Eatable)
a.removeSelfFromGrid();
}
}
}
但问题是Spider没有吃掉Babybugs,如果我放了:
Babybug a =new Babybug();
// instead
for (Actor a : actors)
我得到一些错误:这个actor不包含在网格中。 我该怎么办呢? 谢谢!