我正在做一个项目,我需要一些帮助。我有一个AnimalWorld
可以扩展的类World
和一个可以扩展的类。在我的大象方法中,我想使用一个方法(),它只在(和)中找到。我试过添加这条线Elephant
Turtle
act()
public List getTurtleList()
World
AnimalWorld
public abstract List<Turtle> getTurtleList();
到 AnimalWorld,并将 Elephant 设置为抽象类,但我仍然收到错误“找不到符号 - 有getTurtleList()
什么想法吗?如果您需要更多信息,请告诉我。此外,Elephant 不会扩展 AnimalWorld,因为创建的大象将被放置在 AnimalWorld 中。
public abstract class Elephant extends Turtle implements Animal{
public Elephant(ModelDisplay world){
super(world);
this.penUp();
this.setColor(Color.gray);
this.setWidth(50);
this.setHeight(50);
}
public void act(ModelDisplay myWorld){
double smallestDist = 640.0;
Mouse closestMouse = null;
List<Turtle> animalList = myWorld.getTurtleList();
for(Turtle curCritter: animalList){
if(curCritter instanceof Mouse){
int x=curCritter.getXPos();
int y=curCritter.getYPos();
double dist = this.getDistance(x,y);
if(dist < 100 && dist<smallestDist){
closestMouse=curCritter;
smallestDist=dist;
}
}
}
if(closestMouse!=null){
this.turn(closestMouse);
this.forward(3*(int)smallestDist);
}
}
}