Kann eine Hauptmethode in Java etwas zurückgeben?
Ging ich durch ein interview vor kurzem, und Sie bitten, mir zwei Fragen in der Kern-Java.
Q 1.
Können, schreiben wir eine java-Klasse mit:
public static int main(String[] args){ System.out.println("Hello");
Antwortete ich: Nein. Der compiler nicht kompilieren, wie es erwartet wird der Rückgabetyp main
zu int
, wenn wir überlastet werden kann.
Q 2: Die nächste Frage, die ich nicht beantworten konnte.
Schreiben Sie ein Programm, so dass Ihre Java -
main
Methode etwas zurückgeben könnte.I. e. wie können Sie
public static void main([] args)
zu etwas zurückgeben?
Kann jede Stelle mir helfen, diese zu beantworten?
InformationsquelleAutor der Frage vibhas | 2011-08-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, Sie können, aber Sie können nicht laufen, die Java-Klasse.
Beispiel-Klasse:
Erhalten Sie eine Fehlermeldung, beim Versuch, führen Sie es:
Können Sie System#exit(int) zu beenden Sie Ihr Programm mit einem bestimmten exit-code interpretiert werden kann, die durch das Betriebssystem.
InformationsquelleAutor der Antwort joschi
In der Regel in Sprachen, wo
main
zurückint
(wie C und C++), den Rückgabewertmain
wird der exit-code des Prozesses, die oft von Kommando-Interpreter und andere externe Programme, um zu ermitteln, ob der Prozess erfolgreich abgeschlossen wurde. Denselben Effekt erzielen Sie in Java verwenden Sie die System.beenden - Methode (Analog zu den standard-C-Funktion beenden), etwa so:Unter Angabe der Java-Dokumentation verlinkt oben:
InformationsquelleAutor der Antwort Martin Törnwall
Kann man nicht zurückgeben eines Wertes aus einer Java-main-Funktion. Programme können jedoch die Rückkehr status-code.
Versuchen Sie Folgendes, um zu beenden mit einem int-status in Java
System.exit(45)
InformationsquelleAutor der Antwort secretformula
Ja, wir können schreiben main-Methode mit einem Rückgabetyp andere als nichtig. Dies bedeutet einfach, dass wir überladen unsere main-Methode. Einige Beispiele sind
public static void main(String ... x){ }
public static int main(String []args){ }
public static void main(string array[]){ }
Aber, hier der Hinweis, dass der compiler nur wissen,
Wenn die oben genannte Methode ist nicht vorhanden, es wird nicht kompiliert.
InformationsquelleAutor der Antwort Anurag Swarnkar
Einer Weise zu tun, so etwas ist durch ändern der Werte von args[i] für i kleiner als Argumente.Länge, in das innere der Methode main.
Beispiel:
Anderen Klasse:
Dann die Ausgabe:
Wert
ein weiterer Wert
InformationsquelleAutor der Antwort Isabel
Kann Man ja mit return-Typ void.Aber der Wert für die JVM und nicht mehr code nach return wird ausgeführt, da Die Kontrolle zurück zu JVM, die Aufrufe von main()
InformationsquelleAutor der Antwort Android Killer