我将其作为主类,它创建了另一个类的二维数组:

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/

10-10 03:41