Muss die Main-Methode in einem Java-Programm benötigt werden?

7

Ist die wichtigste Methode zum Schreiben eines Java-Programms?

Das ist mein Code:

%Vor%

Es zeigt einen Fehler bei der Kompilierung:

%Vor%     
Praveen 24.05.2010, 10:46
quelle

9 Antworten

13

Die Hauptmethode wird in Java-Programmen nicht benötigt. Wie andere darauf hingewiesen haben, verwenden Web-Anwendungen nicht die Hauptmethode.

Es wird nicht einmal in Standalone-Anwendungen benötigt. Bedenken Sie

%Vor%

Ich kompilierte es und lief und erhielt das folgende Ergebnis:

%Vor%

Für eigenständige Anwendungen müssen Sie entweder

haben
  1. eine Hauptmethode oder
  2. ein statischer Initializer.

Wichtig ist bevorzugt.

    
emory 24.05.2010, 13:35
quelle
9

Die Methode main ist der Standard-Einstiegspunkt für ein Programm. Wenn Sie keine definieren und dann versuchen, das erzeugte Glas auszuführen, sehen Sie dies. Wenn Sie nicht versuchen, ein Programm zu erstellen, das unabhängig gestartet werden muss, benötigen Sie es nicht - beispielsweise ein Jar, auf das von anderen Programmen verwiesen wird, oder eine Website.

    
David M 24.05.2010 10:49
quelle
5

Ohne eine Methode main hat Ihre Anwendung keinen Einstiegspunkt . Ja, es ist für jedes ausführbare Programm erforderlich.

    
Andrew Hare 24.05.2010 10:49
quelle
5

Wenn Sie versuchen, eine Java-Klasse auszuführen, sucht die JVM nach einer main -Methode, um sie aufzurufen. Aus der KAPITEL 12 Ausführung von Java-Sprachspezifikation:

  

Eine Java Virtual Machine wird gestartet, indem eine bestimmte Klasse geladen und dann die Methode main in dieser angegebenen Klasse aufgerufen wird. Abschnitt §12.1 beschreibt die Lade-, Verknüpfungs- und Initialisierungsschritte beteiligt an der Ausführung von main , als Einführung in die Konzepte in diesem Kapitel. Weitere Abschnitte enthalten Details zum Laden (§12.2) , Verknüpfen Sie (§12.3) und die Initialisierung (§12.4) .

Nicht alle Klassen benötigen ein main , nur das eine, das als "Einstiegspunkt" für die Ausführung dient.

    
Pascal Thivent 24.05.2010 10:57
quelle
2

Der Grund, warum Sie diese Fehlermeldung erhalten, liegt darin, dass Sie versuchen, eine Klasse mit java (java.exe unter Windows) auszuführen und eine main () -Methode erwartet.

Diese Methode ist als solche nicht erforderlich, kann aber einen Einstiegspunkt bilden, an dem eine Anwendung gestartet wird. Sie können Ihre Klasse wie folgt neu schreiben, um das gewünschte Ergebnis zu erzielen:

%Vor%     
James P. 24.05.2010 10:54
quelle
2

Standalone-Anwendungen benötigen main, da es sich um einen Einstiegspunkt handelt. Wie wird JVM wissen, wo das Programm zu starten ist?

    
Andrey 24.05.2010 10:49
quelle
2

Nein, es wird z.B. Web Applikationen. Sie verwenden keine main() -Methode. Wenn Sie jedoch eine eigenständige Anwendung testen oder ausführen, benötigen Sie möglicherweise eine main() -Methode, um zu wissen, welche Ausgabe Sie erwarten.

    
GustyWind 24.05.2010 10:49
quelle
0

Ihre Java-Anwendung oder Ihr Programm (nicht jede einzelne Klasse) benötigt mindestens eine Hauptmethode, um es auszuführen. Und das, was Sie haben, ist kein Kompilierungsfehler, sondern ein Laufzeitfehler.

    
user377488 27.06.2010 17:42
quelle
0

"Wenn Sie ein Programm mit dem gleichen Namen wie den Klassennamen speichern, der die main () -Methode enthält, erstellt die JVM zum Zeitpunkt der Ausführung ein Objekt dieser Klasse und mit diesem Objekt ruft JVM die main () -Methode auf als object.main ().

Wenn also die Methode main () fehlt (auch der statische Initialisierer fehlt), wird eine Ausnahme ausgelöst. "

Für die Webanwendung die gleiche Erklärung wie oben.

ref: Java Grundlegende Java-Methode zur Logik

    
shubham mishra 04.02.2017 19:46
quelle

Tags und Links