Java main () Methode erklärt

1. Übersicht

Jedes Programm benötigt einen Ort, an dem es ausgeführt werden kann. sprechen über Java - Programme, das ist die Hauptmethode. Wir sind so auf das Schreiben des verwendeten Hauptverfahren während unserer Code - Sitzungen, dass wir auch darauf achten , nicht auf die Details. In diesem kurzen Artikel werden wir diese Methode analysieren und einige andere Schreibweisen zeigen.

2. Gemeinsame Unterschrift

Die häufigste Hauptmethodenvorlage ist:
public static void main(String[] args) { }

So haben wir es gelernt, so vervollständigt die IDE den Code automatisch für uns. Dies ist jedoch nicht die einzige Form, die diese Methode annehmen kann. Es gibt einige gültige Varianten, die wir verwenden können, und nicht jeder Entwickler achtet auf diese Tatsache.

Bevor wir uns mit diesen Methodensignaturen befassen, überprüfen wir die Bedeutung der einzelnen Schlüsselwörter der allgemeinen Signatur:

  • public - access modifier, dh globale Sichtbarkeit
  • statisch - auf die Methode kann direkt aus der Klasse zugegriffen werden. Wir müssen kein Objekt instanziieren, um eine Referenz zu haben und sie zu verwenden
  • void - bedeutet, dass diese Methode keinen Wert zurückgibt
  • main - Der Name der Methode, nach dem JVM sucht, wenn ein Java-Programm ausgeführt wird

Der Parameter args repräsentiert die von der Methode empfangenen Werte. Auf diese Weise übergeben wir Argumente an das Programm, wenn wir es zum ersten Mal starten.

Der Parameter args ist ein Array von String s. Im folgenden Beispiel:

java CommonMainMethodSignature foo bar

Wir führen ein Java-Programm namens CommonMainMethodSignature aus und übergeben zwei Argumente: foo und bar . Diese Werte können im Innern der zugegriffen werden Hauptverfahren als args [0] (mit foo als Wert) und args [1] (mit bar als Wert).

Im nächsten Beispiel überprüfen wir die Argumente, um zu entscheiden, ob Test- oder Produktionsparameter geladen werden sollen:

public static void main(String[] args) { if (args.length > 0) { if (args[0].equals("test")) { // load test parameters } else if (args[0].equals("production")) { // load production parameters } } }

Es ist immer gut daran zu denken, dass IDEs auch Argumente an das Programm übergeben können.

3. verschiedene Möglichkeiten , einen schreiben main () Methode

Lassen Sie uns einige verschiedene Möglichkeiten zum Schreiben der Hauptmethode überprüfen . Obwohl sie nicht sehr häufig sind, sind sie gültige Signaturen.

Beachten Sie, dass keiner von ihnen sind spezifisch für die Hauptmethode, können sie mit jeder Java - Methode verwendet werden , aber sie sind auch ein gültiger Teil des Hauptverfahrens.

Die eckigen Klammern können wie in der allgemeinen Vorlage in der Nähe von String oder in der Nähe von Argumenten auf beiden Seiten platziert werden:

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

Argumente können als varargs dargestellt werden:

public static void main(String...args) { }

Wir können sogar strictfp für die main () -Methode hinzufügen, die aus Gründen der Kompatibilität zwischen Prozessoren bei der Arbeit mit Gleitkommawerten verwendet wird:

public strictfp static void main(String[] args) { }

synchronisiert und endgültig gelten auch Schlüsselwörter für die Haupt- Methode , aber sie werden keine Auswirkungen hier haben.

Auf der anderen Seite kann final auf args angewendet werden , um zu verhindern, dass das Array geändert wird:

public static void main(final String[] args) { }

Um diese Beispiele zu beenden, können wir auch die schreiben Haupt- Methode mit allen oben genannten Schlüsselwörter (die, natürlich, werden Sie wahrscheinlich nie in einer praktischen Anwendung verwenden):

final static synchronized strictfp void main(final String[] args) { }

4. Mehr als eine main () -Methode haben

Wir können auch definieren , mehr als eine Haupt- Methode innerhalb unserer Anwendung.

Tatsächlich verwenden einige Leute es als primitive Testtechnik, um einzelne Klassen zu validieren (obwohl Test-Frameworks wie JUnit für diese Aktivität viel mehr angezeigt sind).

Um festzulegen , welche Hauptmethode der JVM als Einstiegspunkt unserer Anwendung ausgeführt werden soll, verwenden wir die MANIFEST.MF Datei. Innerhalb des Manifests können wir die Hauptklasse angeben:

Main-Class: mypackage.ClassWithMainMethod

Dies wird hauptsächlich beim Erstellen einer ausführbaren JAR- Datei verwendet. Wir geben an, welche Klasse die HAS Hauptverfahren um die Ausführung zu beginnen, durch die Manifest - Datei befindet sich in meta-INF / MANIFEST.MF (codiert in UTF-8).

5. Schlussfolgerung

Dieses Tutorial beschrieben die Details des Hauptverfahrens und einige andere Formen , die sie annehmen können, auch diejenigen , die auf die meisten Entwickler nicht sehr verbreitet sind.

Denken Sie daran, dass alle Beispiele, die wir gezeigt haben, zwar in Bezug auf die Syntax gültig sind, aber nur dem Bildungszweck dienen und wir uns die meiste Zeit an die gemeinsame Signatur halten, um unsere Arbeit zu erledigen.