Wie Java-Programme laufen ohne Definition der main-Methode?
Ich war auf der Suche durch einige Java-Quellcode und bemerkte, dass die main
Methode nicht definiert wurde.
Wie funktioniert Java kompilieren von source-code, ohne zu wissen, wo Sie anfangen sollen?
InformationsquelleAutor Korvin Szanto | 2011-09-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
main
Methode wird nur verwendet, wenn die Java Virtual Machine die Ausführung Ihres code. Code kann nicht ausgeführt werden, ohne einemain
Methode, aber es kann trotzdem kompiliert werden.Beim kompilieren von code, geben Sie in der Regel eine Reihe von Dateien auf der Kommandozeile z.B.
Den Java-compiler (
javac
) prüft jede Klasse, die Sie übergeben, um es und stellt es in einen .Klasse Datei.Ein Grund, Java-source-code fehlt möglicherweise ein
main
Methode ist, weil es ist entworfen zu sein verwendet als eine Bibliothek, statt ausgeführt wird.Etwas, das Sie interessant finden könnten: obwohl der source-code, kompiliert der Java-compiler nicht mit einem
main
Methode, die source-code für die Java-compiler selbst hat einemain
Methode.InformationsquelleAutor Jack Edmonds
Gibt es einen Unterschied zwischen dem ausführen und kompilieren. Java-code kompiliert werden kann inkrementell. Sie brauchen nur einen
main
irgendwo laufen den code. Java "weiß, wo anfangen", weil der compiler ist intelligent genug, um zu veranlassen, alle Abhängigkeiten beim kompilieren.In der Tat, wenn Sie eine web-Anwendung in eine Art standard-container, wird Ihr code wahrscheinlich nicht haben eine
main
Methode. Die container nicht, sondern Sie schreiben einfach Komponenten, die plug-in.InformationsquelleAutor hvgotcodes
//funktioniert nur auf java 1.6 oder weniger Versionen
In Java (während der Ausführung):
InformationsquelleAutor LMK
Ich nehme an, du meintest run (statt kompilieren), da brauchen Sie nicht eine main() zu kompilieren. In dem Fall, eine explizit deklarierte Methode main() ist nur eine der Möglichkeiten, um ein Programm zu starten.
Sie können einige frameworks zur Ausführung von code. Sie haben die main () - (reden über Konsolen-Anwendungen), und verlangen, dass Sie erklären, Einstieg nur. Dies ist, wie Sie unit-tests, zum Beispiel.
InformationsquelleAutor n0rm1e
Jede einzelne Java-Klasse, die Sie schreiben, ist nicht bestimmt zu werden, einen Einstiegspunkt für die Ausführung, das ist, warum. Ich würde sagen, das ist eher die Regel als die Ausnahme.
InformationsquelleAutor duffymo
Ja, wir können ein java-Programm ohne main-Methode, für diese verwenden wir die statische Funktion
Folgenden code:
Dieser Ausgabe wird "Hi look Laufenden Programm ohne main () - Methode"
InformationsquelleAutor Vishal sharma
Diese gut laufen in JDK version 1.6 oder früher. In der version 1.7 und höher ist es notwendig, neben einer
main()
Funktion.InformationsquelleAutor nahush
Können wir kompilieren ein Programm ohne main-Methode. Tatsächlich läuft ein Programm unterscheidet sich von kompilieren.Die meisten Bibliotheken enthalten keine main-Methode. also für die Zusammenstellung, es ist kein problem, ob das Programm enthält eine main-Methode, oder nicht.
InformationsquelleAutor Ananthi
InformationsquelleAutor coco
Einem der Weg ist static-block, aber in der vorherigen version von JDK nicht im JDK 1.7.
InformationsquelleAutor Bharthan
Wenn Sie nicht möchten, dass die Verwendung von statischen block zu, es kann getan werden, folgenden Weg
Bitte beachten Sie jedoch, dass dies für Java 6 version. Es funktioniert nicht in Java 7, die angeblich unterstützt werden, die in Java 8. Ich habe versucht, mit JDK 1.8.0_77-b03, was immer noch nicht funktioniert
InformationsquelleAutor JavaHopper
Diese ausführen, ohne jede Fehlermeldung und ohne main () - Methode
InformationsquelleAutor Vikash kumawat