对于下面Ocean
类,如何从派生类访问内部类构造函数?
public class Ocean {
/**
* Define any variables associated with an Ocean object here. These
* variables MUST be private.
*/
// width of an Ocean
private final int width;
// height of an Ocean
private final int height;
class Critter {
/**
* Defines a location of a Critter in an Ocean.
*/
Point location;
public Critter(int x, int y) {
location = new Point(x,y);
}
public Point getLocation() {
return location;
}
}
private Critter[][] oceanMatrix;
}
我想从下面类Shark
构造访问构造Critter
上面类。
class Shark extends Ocean implements Behaviour {
public Shark(int x, int y, int hungerLevel) {
super(x,y);
}
}
如何从Shark
类的构造函数访问Critter
类的构造函数?
鲨鱼是海洋吗? – 2014-11-03 01:52:39
@ChrisMartin +1我的意图是实际扩展Ocean.Critter,直到我看到下面的答案和内部类“Critter”的正确名称是'Position'时才知道。 – overexchange 2014-11-03 02:12:40
“内部类的小人物的名字是位置”。我不认为这是。扩展一个类意味着一个“是”的关系。如果“阶级鲨鱼延伸位置”,这意味着鲨鱼“是一个”位置。但事实并非如此。它*有一个位置,所以你可以使用Position类作为Shark的一个字段,但是如果你想让Shark扩展某些东西,那么正确的类是Critter。 – Boann 2014-11-03 03:32:35