我将其作为主类,它创建了另一个类的二维数组:
public class Tic {
public static void main(String[] args) {
XO board[][] = new XO[3][3];
System.out.println(board[1][1]);
}
}
这是作为2D数组创建的对象类:
public class XO {
private String name = "";
public XO() {
name = "O";
}
public String toString() {
return name;
}
}
从主类“ Tic”中可以看到,我正在尝试打印对象板[1] [1]的“名称”变量。我希望它可以打印字符串“ o”,但是可以打印出null。当XO的构造函数将其“名称”变量明确设置为“ o”时,为什么会发生这种情况?
最佳答案
您所做的只是创建一个XO
数组。但这并没有初始化其子元素,这就是为什么要获取null
值的原因:
XO board[][] = new XO[3][3];
for(int i = 0; i < board.length; i++)
for(int j = 0; j < board[i].length; j++)
board[i][j] = new XO();
System.out.println(board[1][1]);
关于java - 将对象初始化为2D数组然后打印,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35398842/