JAVA填充对象数组时的lang.NullPointerException
这里有些东西我遗漏了。通过这段代码,我得到一个java.lang.NullPointerException
:
public static void main(String[] args) {
Board board = new Board();
board.Initialise();
}
public class Board {
private Obj[][] tableau;
public void Board() {
tableau = new Obj[8][8];
}
public void Fill_Board() {
tableau[0][0]= new Obj('B');
}
}
但对于其他代码,我没有得到任何错误。我做错了什么,以及如何正确初始化这个对象数组
public class Board {
private Obj[][] tableau = new Obj[8][8];
public void Board() {
}
public void Fill_Board() {
tableau[0][0]= new Obj('B');
}
}
# 1 楼答案
Board()
最终成为成员函数而不是构造函数,因此永远不会被调用。问题是void
关键字,需要删除它:# 2 楼答案
当我运行这段代码(将Obj更改为实际的类)时,我没有收到任何错误,也许您可以提供一个更具体的示例,其中包含您尝试执行的主要方法
如果你想创建一个构造函数,那么它需要与你的类同名,即
Tab
,并且没有返回类型所以你需要补充:
无论何时创建该类的新实例,您的构造函数都将运行。你想用它来初始化所有变量
编辑:
你是main方法使用类
Board
,但是你给了我们一个名为Tab
的类。我可以假设你真的想要班级董事会,所以你应该在上面的例子中把所有Tab
改成Board
,如果这是你想要的