Dies ist ein Stück Code als Beispiel, nach diesem Rest sind nur Methoden (siehe unten für Labyrinth-Klasse). Wenn also wird diese instanziiert, mitKann eine Klasse keinen Konstruktor haben?
Maze labyrinth = new Maze();
und
System.out.println (labyrinth);
Dies wird aus dem Grid-Array drucken. Ist das legitim? Ich dachte, alle Klassen benötigten Konstruktoren, wie wird das 2-d-Grid-Array ausgegeben?
Maze Klasse:
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;
}
}
Der Compiler für Sie erstellt. – squiguy
Sie können es noch verwirrender machen: http://ideone.com/JN7lGS – zapl
Für JVM Bytecode ist es scheinbar legal: http://stackoverflow.com/questions/29478139/is-it-valid-to-have-a -jvm-Bytecode-Klasse-ohne-beliebigen-Konstruktor –