To jest kawałek kodu jako przykład, po tym odpoczynku są tylko metody (spójrz na dole dla klasy labiryntu). Więc gdy ten jest tworzony przy użyciuCzy klasa może nie mieć konstruktora?
Maze labyrinth = new Maze();
i
System.out.println (labyrinth);
To wydrukować tablicy siatki. Czy to prawda? Myślałem, że wszystkie klasy potrzebowały konstruktorów, w jaki sposób wypisuje tablicę 2-d grid?
Maze Klasa:
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;
}
}
Kompilator tworzy jeden dla Ciebie. – squiguy
Możesz jeszcze bardziej zagmatwać: http://ideone.com/JN7lGS – zapl
Dla kodu JVM jest to najwyraźniej legalne: http://stackoverflow.com/questions/29478139/is-it-it-valid-to-have-a -jvm-bytecode-class-without-any-constructor –