Eine gute Antwort wäre:

  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.

Klasse 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 main() Methode zu enthalten. Diese Testklasse wird für keinen anderen Zweck verwendet, als die Dinge zu starten. Gewöhnlich erzeugt ihre main() Methode Objekte und ruft deren Methoden auf. Diese Objekte verrichten die tatsächliche Arbeit des Programms.

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

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

C:\chap30>dir

13.11.98  10:07                   257 HalloTester.java
13.11.98  10:40                   476 HalloObjekt.class
13.11.98  10:40                   373 HalloTester.class
               3 Datei(en)          1.106 bytes

Um das Programm zu starten, geben Sie

java HalloTester

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

FRAGE 10:

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

Inhaltsverzeichnis