Java-Methode main(): Der Anfangs- und Endpunkt für alle Java-Programme
Die Methode main() ist in Java Anfangs- und Endpunkt eines jeden Programms. Nur Anweisungen, die innerhalb ihres Gültigkeitsbereichs stehen, werden auch bei der Ausführung berücksichtigt. Daher ist es auch so wichtig, dass bei der Erstellung des Codes die Syntax der Methode bis ins kleinste Detail beachtet wird. Ist diese falsch, wird das Programm nicht ausgeführt.
Diese Bestandteile erfüllen die folgenden Funktionen:
Wenn Sie diesen Code ausführen, erhalten Sie folgende Ausgabe:
Die entsprechende Ausgabe lautet:
Diese Fehlermeldung signalisiert, dass es keinen öffentlichen Zugriff auf die Methode gibt.
Auch in diesem Fall erhalten Sie eine Fehlermeldung statt der gewünschten Ausgabe:
Dies ist die Fehlermeldung, die der Verzicht des Keywords bewirkt:
Da die JVM den Identifier nicht finden kann, wird sie das Programm direkt beenden und nur folgende Fehlermeldung ausgeben:
Ohne das Argument kann die Java-Methode main() nicht ausgeführt werden und Sie erhalten erneut die folgende Fehlermeldung:
Außerdem dürfen Sie Argumente auch als „Varargs“, also variable Argumentlisten hinterlegen:
War dieser Artikel hilfreich?
Was ist die Main Method in Java?
Egal, welches Projekt Sie mit der Programmiersprache umsetzen möchten und welchen knappen oder umfangreichen Code Sie dafür verwenden: Am Anfang einer jeden Anwendung steht in Java die Methode main(). Ist diese nicht vorhanden, kann der Code nicht ausgeführt werden. Bevor dieser an main() übergeben wird, wird zunächst die Java Virtual Machine (JVM) in den Speicher geladen und der Code kompiliert. Sind diese Arbeitsschritte erledigt, geht der Code zur Kontrolle an die Java-Methode main() und wird dann hoffentlich korrekt ausgeführt. Grundsätzlich ist es auch möglich, mehrere dieser Methoden zu verwenden, wobei das Maximum bei einer main-Methode pro Klasse liegt. Webhosting
Top-Hosting für Ihre Website - Flexibel: Hosting, das jedem Website-Traffic standhält
- Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
- Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups
Die Syntax der Java-Methode main()
Die Syntax der main()-Methode in Java ist immer gleich und besteht aus mehreren wichtigen Teilen. So sieht die Methode aus:public static void main(String[] args)
java- public: Stellt sicher, dass auch von außerhalb auf eine Klasse zugegriffen werden kann.
- static: Deklariert die Methode als statisch. So kann sie existieren, ohne dass im Vorfeld ein Objekt einer bestimmten Klasse gebildet wurde.
- void: Sorgt dafür, dass die Methode main() in Java keinen Wert zurückgeben muss. -main: Dies ist der Name, durch den die Java Virtual Machine die Methode identifizieren kann, sobald sie ein Programm ausführt.
- String[] args: Hierbei handelt es sich um ein Array, in dem die Kommandozeilenargumente hinterlegt und entgegengenommen werden.
Die einzelnen Komponenten und ihr Nutzen
Um besser zu verstehen, wie die Java-Methode main() funktioniert und warum alle Bestandteile so wichtig sind, gehen wir sie in den folgenden Abschnitten noch einmal einzeln durch. Dabei zeigen wir Ihnen vor allem, was passiert, wenn ein Teil der Signatur fehlt. Dafür wählen wir ein ganz einfaches Codebeispiel, das wir jeweils mit dem Java-BefehlSystem.out.println
ausgeben. Dieses sieht so aus:public class main {
public static void main(String[] args) {
System.out.println("Hier steht Ihr Beispieltext.");
}
}
bashHier steht Ihr Beispieltext.
bashpublic
public agiert als Access Specifier und signalisiert der Java Virtual Machine, wo das entsprechende Programm ausgeführt wird. Es gibt andere Zugriffsmodifikatoren wie default, private oder protected. Wenn Sie diese jedoch innerhalb der main()-Methode in Java nutzen, werden Sie eine Fehlermeldung erhalten:public class main {
private static void main(String[] args) {
System.out.println("Hier steht Ihr Beispieltext.");
}
}
bashError: Main method not found in class, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
bashstatic
Dass die verwendete Methode statisch ist, wird durch das Schlüsselwort „static“ bestätigt. Sie kann dadurch auch unabhängig von etwaigen erstellten Klasseninstanzen genutzt werden. Wenn Sie die Deklaration als „static“ entfernen, sieht der Code folgendermaßen aus:public class main {
public void main(String[] args) {
System.out.println("Hier steht Ihr Beispieltext.");
}
}
bashError: Main method is not static in class test, please define the main method as:
public static void main(String[] args)
bashvoid
Bei „void“ handelt es sich um ein Keyword, das festlegt, dass die Methode main() in Java keine Werte zurückgeben soll. Da main() der Start- und Endpunkt eines Programms in Java ist, wäre eine Wiedergabe unnötig. So sähe also der Code ohne „void“ aus:public class main {
public static main(String[] args) {
System.out.println("Hier steht Ihr Beispieltext.");
}
}
bashError: Main method must return a value of type void in class Main, please define the main method as:
public static void main(String[] args)
bashmain
Bei jedem Programm in Java sucht die JVM zunächst den sogenannten Identifier „main“. Dieser zeigt an, wo die Ausführung beginnen und enden soll. Sobald die Methode main() in Java abgeschlossen ist, wird auch die Ausgabe beendet. Diese Signatur darf daher niemals geändert oder ergänzt werden. Tun wir dies in unserem Beispiel dennoch, sieht der Code so aus:public class main {
public static void ersatzMain(String[] args) {
System.out.println("Hier steht Ihr Beispieltext.");
}
}
bashError: Main method not found in class, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
bashString[] args
Der Array „String[] args“ entspricht der Klasse java.lang.String und enthält Daten, die er als String-Werte speichert. Verzichten Sie auf diese Angabe, ändert das den Code folgendermaßen:public class main {
public static void main() {
System.out.println("Hier steht Ihr Beispieltext.");
}
}
bashError: Main method not found in class, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
bashAlternative Schreibweisen
Das hier gezeigte Codebeispiel wurde nach der gängigsten Syntax geschrieben. Sie können diese allerdings leicht anpassen, wenn Sie sich davon einen besseren Überblick versprechen. So ist es möglich, die eckigen Klammern direkt hinter „args“ zu platzieren. Das sieht so aus:public static void main(String args[]) { }
javapublic static void main(String…args) { }
java Tipp
In unserem Digital Guide finden Sie zahlreiche weitere Artikel zum Thema Java. Wir haben zum Beispiel Java mit JavaScript verglichen und stellen Ihnen die wichtigsten Java-Operatoren vor.