logo

Java main()-Methode

main() ist der Ausgangspunkt für die JVM, um die Ausführung eines Java-Programms zu starten. Ohne die Methode main() führt JVM das Programm nicht aus. Die Syntax der main()-Methode lautet:

Java-Hauptmethode

öffentlich: Es handelt sich um einen Zugriffsspezifizierer. Wir sollten vor der main()-Methode ein öffentliches Schlüsselwort verwenden, damit JVM den Ausführungspunkt des Programms identifizieren kann. Wenn wir vor der main()-Methode private, protected und default verwenden, ist diese für JVM nicht sichtbar.

statisch: Sie können eine Methode statisch machen, indem Sie das Schlüsselwort static verwenden. Wir sollten die Methode main() aufrufen, ohne ein Objekt zu erstellen. Statische Methoden sind Methoden, die aufgerufen werden, ohne Objekte zu erstellen. Daher benötigen wir kein Objekt, um die Methode main() aufzurufen.

Leere: In Java hat jede Methode den Rückgabetyp. Das Schlüsselwort „Void“ bestätigt dem Compiler, dass die Methode main() keinen Wert zurückgibt.

hauptsächlich(): Es handelt sich um eine Standardsignatur, die in der JVM vordefiniert ist. Sie wird von der JVM aufgerufen, um ein Programm Zeile für Zeile auszuführen und die Ausführung nach Abschluss dieser Methode zu beenden. Wir können auch die Methode main() überladen.

String-Argumente[]: Die Methode main() akzeptiert auch einige Daten vom Benutzer. Es akzeptiert eine Gruppe von Strings, die als String-Array bezeichnet wird. Es wird verwendet, um die Befehlszeilenargumente in Form von Zeichenfolgewerten zu speichern.

 main(String args[]) 

Hier ist agrs[] der Array-Name und hat den Typ String. Das bedeutet, dass eine Gruppe von Zeichenfolgen gespeichert werden kann. Denken Sie daran, dass dieses Array auch eine Gruppe von Zahlen speichern kann, jedoch nur in Form einer Zeichenfolge. An die Methode main() übergebene Werte werden als Argumente bezeichnet. Diese Argumente werden im Array args[] gespeichert, daher wird im Allgemeinen der Name args[] dafür verwendet.

Was passiert, wenn die Methode main() ohne String args[] geschrieben wird?

Das Programm wird kompiliert, aber nicht ausgeführt, da JVM die main()-Methode nicht erkennt. Denken Sie daran, dass JVM immer nach der Methode main() mit einem Array vom Typ String als Parameter sucht.

Ausführungsprozess

Zuerst führt die JVM den statischen Block aus, dann führt sie statische Methoden aus und erstellt dann das vom Programm benötigte Objekt. Schließlich führt es die Instanzmethoden aus. JVM führt einen statischen Block mit der höchsten Priorität aus. Dies bedeutet, dass die JVM zunächst zum statischen Block übergeht, noch bevor sie im Programm nach der Methode main() sucht.

Beispiel

 class Demo { static //static block { System.out.println('Static block'); } public static void main(String args[]) //static method { System.out.println('Static method'); } } 

Ausgabe:

 Static block Static method 

Wir beobachten, dass JVM zuerst den statischen Block ausführt, sofern dieser im Programm vorhanden ist. Danach wird nach der main()-Methode gesucht. Wenn die Methode main() nicht gefunden wird, wird eine Fehlermeldung ausgegeben.

Beispiel

Ein Programm, das nicht über die Methode main() verfügt, gibt zur Laufzeit einen Fehler aus.

 class DemoStaticBlock { Static //static block { System.out.println('Static block'); } } 

Ausgabe:

 Error: Main method not found in the class Demo, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application 

Daher sollte die main()-Methode immer wie folgt geschrieben werden:

 public static void main(String args[]) 

Wir können public und static austauschen und es wie folgt schreiben:

 static public void main(String args[]) 

Wir können auch einen anderen Namen für das String-Typ-Array verwenden und ihn wie folgt schreiben:

 static public void main(String[] x) 

Es gibt verschiedene Möglichkeiten, die Methode main() zu schreiben:

 static public void main(String []x) static public void main(String...args) 

String...Argumente: Dadurch kann die Methode null oder mehrere Argumente akzeptieren. Zwischen String und Array sollten genau drei Punkte stehen; andernfalls wird ein Fehler ausgegeben.

Beispiel

Ein Programm, das keine main()-Methode hat, aber erfolgreich kompiliert und ausgeführt wird.

 abstract class DemoNoMain extends javafx.application.Application { static //static block { System.out.println('Java'); System.exit(0); } } 

Ausgabe:

 Java 

Überladung der main()-Methode

Wir können auch die Methode main() überladen. Wir können eine beliebige Anzahl von main()-Methoden in der Klasse definieren, aber die Methodensignatur muss unterschiedlich sein.

Beispiel

 class OverloadMain { public static void main(int a) //overloaded main method { System.out.println(a); } public static void main(String args[]) { System.out.println('main method incoked'); main(6); } } 

Ausgabe:

Vererbungsprogramm in Python
 main method invoked 6