Ist die Main-Methode muss, benötigt in ein Java-Programm?
Ist die main-Methode erforderlich, um ein java-Programm schreiben?
Dies ist mein code:
package example;
public class HelloWorld {
public HelloWorld() {
}
public String getHelloWorld() {
return "Hello From Java!";
}
}
Zeigt es einen Fehler bei der Kompilierung:
java.lang.NoSuchMethodError: main
Exception in thread "main"
- Das sieht aus wie ein runtime error, nicht zu einem Kompilierungsfehler.
- Diese Community Wiki Frage listet die möglichen Ursachen für dieses häufige problem: stackoverflow.com/questions/5407250/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die main-Methode ist nicht erforderlich, in java-Programmen. Wie andere haben darauf hingewiesen, web-Anwendungen verwenden nicht die main-Methode.
Ist es nicht einmal nötig, in standalone-Anwendungen. Betrachten
Ich es kompiliert und lief Weg und erhalten das folgende Ergebnis:
Für standalone-Anwendungen, die Sie entweder
Main bevorzugt.
Den
main
Methode ist der Standard-Einstiegspunkt für ein Programm. Wenn Sie nicht definieren, und dann versuchen, führen Sie das jar erzeugt, das ist, was Sie sehen. Wenn Sie nicht versuchen, zu produzieren ein Programm, dass muss starten, unabhängig, die Sie nicht benötigen - zum Beispiel, ein Glas verwiesen wird, die von anderen Programmen, oder eine Webseite.Ohne
main
- Methode Sie die Anwendung über keinen Eintrag, Punkt. Ja, es ist erforderlich für jedes ausführbare Programm.Wenn Sie versuchen zum ausführen einer Java-Klasse, die JVM sucht nach einer
main
Methode, um es aufzurufen. Aus der KAPITEL 12 Ausführung der Java Language Specification:Nicht alle Klassen müssen einen
main
nur die eine, die als "entry point" für die Ausführung.Der Grund, warum Sie immer diese Fehlermeldung, weil Sie versucht, eine Klasse, die java verwenden (java.exe auf Windows) und es erwartet Sie eine main () - Methode.
Diese Methode ist nicht erforderlich, sondern es kann ein Eintrag Punkt, wo eine Anwendung initiiert wird. Sie können schreiben Sie Ihre Klasse wie folgt zu erreichen das Ergebnis Sie suchten:
Standalone-Anwendungen erfordern Haupt, denn es ist der entry-point. Wie wird die JVM wissen, wo Sie starten das Programm?
Nein, es ist nicht nötig, für z.B. web-Anwendungen. Sie verwenden nicht ein
main()
Methode, aber wenn Sie testen oder ausführen eines stand-alone-Anwendung, um zu wissen, welche Leistung Sie erwarten, benötigen Sie möglicherweise einemain()
Methode.Ihre java-Anwendung oder ein Programm (nicht jede einzelne Klasse) muss mindestens eine main-Methode, um es auszuführen. Und die, die Sie haben, ist nicht eine compilation error, aber ein Laufzeitfehler.
"Wenn Sie das Programm speichern mit dem gleichen Namen wie den Namen der Klasse enthält die main () - Methode, die dann zum Zeitpunkt der Ausführung der JVM erstellt ein Objekt dieser Klasse und mit diesem Objekt JVM ruft die main () - metod, als Objekt.main().
Also, wenn main () - Methode fehlt( statische Initialisierer ist auch nicht vorhanden ), dann wird eine Ausnahme geworfen."
Für die web-Anwendung, die gleiche Erklärung wie oben.
ref: Java Verständnis Java-main-Methode auf Logik