Nel codice precedente quando viene utilizzato lo return
, è necessario tornare alla funzione che chiama la funzione principale. Chi chiama esattamente la funzione main
?Chi chiama la funzione principale in java?
risposta
Le classi Java sono eseguite all'interno di un contesto più ampio (una JVM particolare come altri hanno notato). Qui di seguito sono alcune possibilità:
- si esegue
java -cp {classpath here} com.example.foo.SomeClass
-explicitly select a class for the java application launcher to run - si esegue
java -jar somejar.jar
(the class in question will be selected in the .jar file's manifest) - si sta lavorando all'interno di Eclipse e utilizzare il debug/run per eseguire il metodo
main()
di una particolare classe.
In tutti i casi il metodo main()
è il punto di ingresso canonico per l'esecuzione di codice assegnato a una particolare classe. Dalla documentazione sul java
JVM:
DESCRIZIONE
Lo strumento java avvia un'applicazione Java. Fa ciò avviando un ambiente di runtime Java, caricando una classe specificata e richiamando il metodo principale di quella classe. La dichiarazione metodo deve essere simile al seguente:
public static void main(String args[])
Il metodo deve essere dichiarato pubblico e statico, non deve restituire alcun valore, e si deve accettare un array di stringhe come parametro. Per impostazione predefinita, il primo argomento non opzionale è il nome della classe da richiamare. Deve essere usato un nome di classe completo. Se viene specificata l'opzione -jar, il primo argomento non opzionale è il nome di un archivio JAR contenente i file di classe e di risorse per l'applicazione, con la classe di avvio indicata dall'intestazione manifest Main-Class.
Il runtime Java ricerca la classe di avvio e le altre classi utilizzate in tre gruppi di percorsi: il percorso della classe di avvio, le estensioni installate e il percorso della classe utente.
Gli argomenti senza opzioni dopo il nome della classe o il nome del file JAR vengono passati alla funzione principale.
Il comando javaw è identico a java, tranne che con javaw non è presente una finestra della console associata. Usa javaw quando non vuoi che appaia una finestra del prompt dei comandi. Tuttavia, il programma di avvio di javaw visualizzerà una finestra di dialogo con informazioni di errore se un lancio non riesce per qualche motivo.
È stato:
Nel codice precedente quando il ritorno è usata allora dovrebbe tornare alla funzione che chiama la funzione principale.
Non ci può essere qualsiasi altra funzione Java (in realtà di solito non è), che chiama la funzione main()
. È la convenzione per la dichiarazione di un punto di ingresso noto. Se la JVM viene avviata per eseguire il metodo main()
della tua classe, quando viene restituito il valore main()
, la JVM viene chiusa, tranne in alcuni casi speciali, ad es. ci sono altri thread non daemon in esecuzione o c'è un hook di shutdown.
La frase della mia dichiarazione manca della mia clausola di qualificazione: "tranne in alcuni casi speciali, ad esempio ci sono altri thread non daemon in esecuzione o c'è un hook di shutdown." che copre le tue preoccupazioni. –
La Java Virtual Machine.
Vedi Running Java programs ...
La JVM utilizza il main()
come punto di partenza per un programma proprio come il int main()
in C++.
Ecco un bel example di invocare main()
tramite JNI_CreateJavaVM
.
Accetto con le istruzioni precedenti poiché JVM chiama il metodo principale perché è il punto di ingresso a qualsiasi classe che deve essere caricata per eseguire la classe.
Jvm avvia il thread principale per chiamare il metodo principale.
- 1. Chi chiama la metaclasse
- 2. Chiama la funzione pl/sql in java?
- 3. Trova chi chiama il metodo
- 4. La funzione principale() rientranti?
- 5. chiama un altro metodo dal metodo principale di java
- 6. Funzione ricorsiva: chiama la funzione php stessa
- 7. chiama la funzione java da c utilizzando jni
- 8. Java interrompe la digitazione! Chi può spiegarlo?
- 9. Chiama una funzione Oracle da Java
- 10. Chiama la funzione Java da JavaScript tramite Android WebView
- 11. Chi gestisce effettivamente le eccezioni generate nel metodo principale?
- 12. Come CRT chiama principale, avendo diverso parametro
- 13. Chiama la funzione Python da C# (.NET)
- 14. La funzione PHP pass come param allora chiama la funzione?
- 15. Chiama la funzione torch7 (Lua) da python?
- 16. Chiama la funzione dalla stringa all'interno dell'oggetto?
- 17. Chiama la funzione personalizzata dopo jQuery sortable();
- 18. Chiama la funzione python da JS
- 19. Chiama la funzione casuale sulle percentuali?
- 20. chiama la funzione Jquery da javascript
- 21. Chiama la funzione javascript con JSTL
- 22. Come trova il linker la funzione principale?
- 23. Utilizzare la funzione principale di R
- 24. C++: implementazione personalizzata Funzione principale
- 25. Chi implementa l'interfaccia del sistema operativo in java?
- 26. chiama la classe java nel file batch
- 27. Chiama ciascuna funzione nell'elenco
- 28. Sigabrt on Funzione principale
- 29. funzione principale Python
- 30. funzione di annidamento chiama GO
È possibile chiamare un metodo principale da un altro e chiamare il programma di avvio. –