这是一段代码作为一个例子,在这之后其余的只是方法(查看迷宫类的底部)。所以,当这被实例化,使用一个类可以没有构造函数吗?
Maze labyrinth = new Maze();
和
System.out.println (labyrinth);
这将打印出栅格阵列。 这是合法吗?我认为所有的类都需要构造函数,它如何打印出2维网格数组?
迷宫类别:
public class Maze
{
private final int TRIED = 3;
private final int PATH = 7;
private int[][] grid = { {1,1,1,0,1,1,0,0,0,1,1,1,1},
{1,0,1,1,1,0,1,1,1,1,0,0,1},
{0,0,0,0,1,0,1,0,1,0,1,0,0},
{1,1,1,0,1,1,1,0,1,0,1,1,1},
{1,0,1,0,0,0,0,1,1,1,0,0,1},
{1,0,1,1,1,1,1,1,0,1,1,1,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0},
{1,1,1,1,1,1,1,1,1,1,1,1,1} };
public String toString()
{
String result = "\n";
for (int row = 0; row < grid.length; row++)
{
for (int column=0; column < grid[row].length; column++)
result += grid[row][column] + "";
result += "\n";
}
return result;
}
}
编译器创建一个给你。 – squiguy
你可以把它变得更加令人困惑:http://ideone.com/JN7lGS – zapl
对于JVM字节它显然是合法的:http://stackoverflow.com/questions/29478139/is-it-valid-to-have-a -jvm-bytecode-class-without-any-constructor –