Eine gute Antwort könnte sein:

  1. Wie viele Klassendefinitionen sind in diesem Programm?
    • Zwei: HalloObjekt und HalloTester
  2. Wird zur Laufzeit ein HalloTester Objekt erzeugt?
    • Nein. Die static main() Methode braucht kein Objekt um ausgeführt zu werden.

Klassen testen

Der Java Interpreter startet ein Programm, indem er nach einer static main() Methode sucht. Da sie static ist, kann sie der Interpreter starten, ohne zuerst ein Objekt zu konstruieren.

Es ist praktisch eine eigene Klasse zu haben, die keinen anderen Zweck hat als die Methode main() zu enthalten. Diese Testklasse wird für keinen anderen Zweck verwendet, als die Dinge zu starten. Gewöhnlich erzeugt ihre Methode main() Objekte und ruft deren Methoden auf. Diese Objekte verrichten die tatsächliche Arbeit des Programms.

Nennen Sie die Datei HalloTester.java. Wenn Sie die Datei kompilieren, erzeugt der Compiler zwei getrennte Dateien mit Bytecode:

C:\chap30>javac HalloTester.java
  compiling: HalloTester.java

C:\chap30>dir

11/13/98  10:07p                   257 HalloTester.java
11/13/98  10:40p                   476 HalloObjekt.class
11/13/98  10:40p                   373 HalloTester.class
               3 File(s)          1,106 bytes

Um das Programm zu starten geben Sie:

java HalloTester

ein. Der Java Interpreter findet die Methode main() in der Klasse HalloTester und beginnt sie zu starten.

FRAGE 10:

Wenn der Java Interpreter die Definition von HalloObjekt braucht, wo wird sie gefunden?