對於下面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