我在这里缺少一些东西。使用此代码我得到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');
}
}
答案 0 :(得分:2)
Board()
最终成为成员函数而不是构造函数,因此永远不会被调用。问题是void
关键字,需要将其删除:
public Board() { /* removed the `void' */
tableau = new Obj[8][8];
}
答案 1 :(得分:0)
当我运行此代码(将Obj更改为实际类)时,我没有收到任何错误,也许您可以提供一个更具体的示例,其中包含您尝试执行的主要方法?
如果你正在寻找一个构造函数,那么它需要与你的类名相同,即Tab
并且没有返回类型。
所以你需要添加:
public Tab() {
// initialization code here
}
只要您创建该类的新实例,您的构造函数就会运行。您想用它来初始化所有变量。
Tab t = new Tab(); // Constructor runs
编辑:
你的主要方法是使用类Board
,但是你给了我们一个名为Tab
的类。我可以假设您真的想要班级委员会,所以您应该在上面的示例中将所有Tab
更改为Board
,如果这是您正在寻找的。 p>