【发布时间】:2014-09-13 17:17:12
【问题描述】:
当我尝试实例化一个包含二维接口数组的类时,我收到了 NullPointerException。 在另一个类中,我有一个 CompetitionGround 类型的对象,我尝试做这样的事情来初始化它:
CompetitionGround groud;
ground=new CompetitionGround(5);
我的 CompetitionGround 类的构造函数如下所示:
public CompetitionGround(int boundries) {
for (int i = 0; i <boundries; i++)
for (int j = 0; j <boundries; j++)
eggs[i][j]=new Egg();
}
整个班级是:
public class CompetitionGround {
private IEgg eggs[][];
public void goIn(Rabbit rabbit) {
IPozition temp = rabbit.getPozition();
rabbit.Collect(eggs[temp.getPozitionX()][temp.getPozitionY()]);
}
public CompetitionGround(int boundries) {
for (int i = 0; i < boundries; i++)
for (int j = 0; j < boundries; j++)
eggs[i][j] = new Egg();
}
public void AddEgg(int x, int y, int points) {
eggs[x][y] = new Egg(points);
}
}
实现 IEgg 的 Egg 类有两种类型的构造函数。我尝试了两者并遇到了同样的问题。我究竟做错了什么?我想不通。
【问题讨论】:
-
语法建议:拼写为
Position而不是Pozition和boundaries不是boundries -
看起来您正在访问一个空元素
eggs,就像错误状态一样。初始化eggs。不要忘记考虑实际的错误。
标签: java arrays nullpointerexception polymorphism multidimensional-array