public static void main(String[] args) – Java Hauptmethode

Einführung

Die Java main-Methode ist normalerweise die erste Methode, die Sie kennenlernen, wenn Sie mit der Programmierung in Java beginnen, da sie der Einstiegspunkt für die Ausführung eines Java-Programms ist. Die main-Methode kann Code zum Ausführen oder Aufrufen anderer Methoden enthalten und kann in jeder Klasse platziert werden, die Teil eines Programms ist. Komplexere Programme haben in der Regel eine Klasse, die nur die main-Methode enthält. Die Klasse, die die main-Methode enthält, kann jeden Namen haben, obwohl Sie die Klasse einfach Main nennen können.

In den folgenden Beispielen wird die Klasse, die die main-Methode enthält, als Test bezeichnet:

Test.java
public class Test {

	public static void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

In diesem Artikel erfahren Sie, was jeder Bestandteil der main-Methode bedeutet.

Java Main Method Syntax

Die Syntax der main-Methode lautet immer:

public static void main(String[] args){
	// etwas Code
}

Sie können nur den Namen des String-Array-Arguments ändern. Sie können beispielsweise args in myStringArgs ändern. Das String-Array-Argument kann als String... args oder String args[] geschrieben werden.

public

Der Zugriffsmodifizierer der main-Methode muss public sein, damit die JRE auf diese Methode zugreifen und sie ausführen kann. Wenn eine Methode nicht öffentlich ist, ist der Zugriff eingeschränkt. Im folgenden Beispielcode fehlt der main-Methode der Zugriffsmodifizierer public:

Test.java
public class Test {

	static void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

Beim Kompilieren und Ausführen des Programms tritt der folgende Fehler auf, weil die main-Methode nicht öffentlich ist und die JRE sie nicht finden kann:

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

static

Wenn das Java-Programm startet, ist kein Objekt der Klasse vorhanden. Die main-Methode muss static sein, damit die JVM die Klasse in den Speicher laden und die main-Methode aufrufen kann, ohne zuerst eine Instanz der Klasse zu erstellen. Im folgenden Beispielcode fehlt der main-Methode der static-Modifizierer:

Test.java
public class Test {

	public void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

Beim Kompilieren und Ausführen des Programms tritt der folgende Fehler auf, weil die main-Methode nicht static ist:

  1. javac Test.java
  2. java Test
Output
Error: Main method is not static in class Test, please define the `main` method as: public static void main(String[] args)

void

Jede Java-Methode muss den Rückgabetyp angeben. Der Rückgabetyp der Java main-Methode ist void, weil sie nichts zurückgibt. Wenn die main-Methode die Ausführung beendet hat, wird das Java-Programm beendet, sodass kein zurückgegebenes Objekt erforderlich ist. Im folgenden Beispielcode versucht die main-Methode etwas zurückzugeben, obwohl der Rückgabetyp void ist:

Test.java
public class Test {

	public static void main(String[] args){
	
		return 0;
	}
}

Beim Kompilieren des Programms tritt der folgende Fehler auf, da Java keinen Rückgabewert erwartet, wenn der Rückgabetyp void ist:

  1. javac Test.java
Output
Test.java:5: error: incompatible types: unexpected return value return 0; ^ 1 error

main

Die Java main-Methode heißt immer main. Wenn ein Java-Programm gestartet wird, sucht es immer nach der main-Methode. Im folgenden Beispielcode wird eine main-Methode in myMain umbenannt:

Test.java
public class Test {

	public static void myMain(String[] args){

		System.out.println("Hello, World!");
	}
}

Beim Kompilieren und Ausführen des Programms tritt der folgende Fehler auf, da die JRE die main-Methode in der Klasse nicht finden kann:

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

String[] args

Java main-Methode akzeptiert ein einzelnes Argument vom Typ String-Array. Jeder String im Array ist ein Kommandozeilenargument. Sie können Kommandozeilenargumente verwenden, um den Betrieb des Programms zu beeinflussen oder Informationen an das Programm weiterzugeben, zur Laufzeit. Das folgende Beispiel zeigt, wie die Befehlszeilenargumente gedruckt werden, die Sie eingeben, wenn Sie das Programm ausführen:

Test.java
public class Test {

	public static void main(String[] args){

    	for(String s : args){
		System.out.println(s);
    	}
	
    }
}

Wenn Sie das Programm kompilieren und dann mit einigen durch Leerzeichen getrennten Befehlszeilenargumenten ausführen, werden die Argumente im Terminal gedruckt:

  1. javac Test.java
  2. java Test 1 2 3 "Testing the main method"
Output
1 2 3 Testing the main method

Schlussfolgerung

In diesem Artikel haben Sie jede Komponente der Java main-Methode kennengelernt. Setzen Sie Ihr Lernen mit weiteren Java-Tutorials fort.

Source:
https://www.digitalocean.com/community/tutorials/public-static-void-main-string-args-java-main-method