Was ist die Hauptmethode in Java?

Einführung

Dies ist ein Artikel zum Organisieren von Informationen von Java-Anfängern. Wir würden uns freuen, wenn Sie auf Korrekturen oder zusätzliche Informationen hinweisen könnten, die enthalten sein sollten.

Was ist die Hauptmethode

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

・ In vielen Fällen in dieser Form definierte Methoden (Ausnahmemuster werden später in diesem Artikel beschrieben) In der Erklärung

  1. Variable Ausführungsanweisung
  2. Formelanweisung
  3. Erklärung zur Ausführung des Befehls Schreiben Sie verschiedene Sätze wie. Jeder Satz wird in der Reihenfolge von oben verarbeitet.

-Methode (Einstiegspunkt), die der ** Startpunkt ** von Java-Programmen ist Dies ist der erste Punkt, auf den beim Starten eines Java-Programms verwiesen wird. Da die Hauptmethode der Ausgangspunkt ist, werden in anderen Klassen definierte Methoden nur ausgeführt, wenn sie in der Hauptmethode aufgerufen werden.

Wenn die Hauptmethode nicht vorhanden ist, wird folgende Fehlermeldung angezeigt:

Exception in thread "main" java.lang.NoSuchMethodError: main

Zerlegen Sie die Hauptmethode

öffentlicher Modifikator

Der öffentliche Modifikator ist ein Modifikator, der den Zugriff von allen Klassen ermöglicht. Die Hauptmethode ist der Ausgangspunkt des Java-Programms, und es ist erforderlich, den öffentlichen Modifikator hinzuzufügen, der den Zugriff von verschiedenen Klassen voraussetzt.

static Der generische Name von Feldern und Methoden mit dem Schlüsselwort static heißt ** static member **. Unter diesen heißt die Methode mit dem Schlüsselwort static ** statische Methode (Klassenmethode) **. Mit anderen Worten ist die Hauptmethode eine statische Methode.

Die statische Methode weist die folgenden drei Funktionen auf.

  1. Die Methode selbst gehört zur Klasse
  2. Das Alter Ego der Methode wird in der Instanz festgelegt
  3. Kann aufgerufen werden, ohne eine Instanz zu erstellen

Hier sind die drei Merkmale wichtig. Da die Hauptmethode der Startpunkt des Java-Programms ist, wurde zum Zeitpunkt des Starts möglicherweise keine Instanz im virtuellen Java-Bereich erstellt. Um diese Situation zu bewältigen, muss die Hauptmethode das statische Schlüsselwort haben.

Als zusätzlichen Inhalt muss das statische Schlüsselwort nicht hinzugefügt werden, da die in einer anderen Klasse beschriebene und nach dem Erstellen des Objekts beschriebene Methode beim Starten des Programms nicht aufgerufen werden muss. Es wird sein. void Gibt an, dass diese Methode keinen Rückgabewert zurückgibt.

main Methodenname. Die von der JVM referenzierte Kennung. String[]args Die Regel hier ist, dass Sie ein Array vom Typ String oder ein Argument vom Typ String variabler Länge angeben müssen. (Ich konnte den Grund nicht finden, also werde ich ihn auf Eis legen) Daher kann der Teil der Argumente, der dem Argument entspricht, geändert werden. Es scheint jedoch, dass es viele Fälle gibt, in denen Argumente im Allgemeinen verwendet werden.

Vorsichtsmaßnahmen bei Verwendung der Hauptmethode

Aus der bisherigen Beschreibung geht hervor, dass die Hauptmethode eine spezielle Methode ist. Hier ist ein Muster, auf das Sie achten sollten, wenn Sie es tatsächlich verwenden.


public class Cleric {

	String name = "Yudai";
	int hp = 50;
	final int maxHp = 50;
	int mp = 30;
	final int maxMp = 30;

	public static void main(String[] args) {
	  //TODO automatisch generierter Methodenstub
	  Cleric cleric = new Cleric();
	  cleric.selfAid();
	}

	public void selfAid() {
	  System.out.println(this.name + "Gesungen "Selbstheilung"!");
	  this.mp -= 5;
	  this.hp = this.maxHp;
	  System.out.println("HP hat sich maximal erholt!");
	}

Auf diese Weise ist es ein Muster, in dem die Hauptmethode und eine andere Methode (hier die selfAid-Methode) in einer Klasse koexistieren. Hier wird die Hauptmethode in der Klerikerklasse beschrieben, aber da die Hauptmethode tatsächlich die Methode ist, die der Ausgangspunkt jeder Klasse ist, hat sie nichts mit der Klerikerklasse zu tun. In dieser Form sieht die Hauptmethode jedoch wie eine Methode aus, die sich auf die Cleric-Klasse bezieht. Dies kann zu Verwirrung führen, wenn die Codemenge zunimmt. .. Als Problemumgehung halte ich es für sicher, eine unabhängige Klasse (z. B. Hauptklasse) zu generieren und als Klasse vorzubereiten, die nur die Hauptmethode ausführt.

Als Ergänzung ist es auch gut daran zu denken, dass Sie grundsätzlich Code in einer Klasse für eine Datei schreiben.

Wie schreibe ich verschiedene Hauptmethoden


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

Vielen Dank. das ist alles.

[Referenz] ・ "Einführung in Java, die klar verstanden werden kann, 3. Auflage" [Referenz-URL] ・ [Einführung in Java] Erläuterung der Hauptmethode, ihrer Argumente (Argumente) und des Rückgabewerts  https://www.sejuku.net/blog/65082 -Erläuterung der main () -Methode von Java  https://www.codeflow.site/ja/article/java-main-method ・ Beziehung zwischen Hauptmethode und Klasse  https://www.javadrive.jp/start/about/index4.html -Die Methode der Klasse, die zuerst aufgerufen wird  https://www.javadrive.jp/start/const/index3.html ・ [Ich möchte es festhalten] Was ist Javas Hauptmethode? Und wie man es benutzt  https://eng-entrance.com/java-basic-main

Recommended Posts

Was ist die Hauptmethode in Java?
Was ist die Zupfmethode?
Was ist die Initialisierungsmethode?
Rufen Sie die Super-Methode in Java auf
Was ist java
Was ist java
Was ist eine Klasse in der Java-Sprache (3 /?)
Was ist das beste Lesen von Dateien (Java)
Was ist eine Klasse in der Java-Sprache (1 /?)
Was ist eine Klasse in der Java-Sprache (2 /?)
Was ist Java-Kapselung?
Was ist Java-Technologie?
Was ist Java API-Java?
[Java] Was ist flatMap?
[Java] Was ist ArrayList?
[Java] Behandlung von Java Beans in der Methodenkette
Was ist das Java Servlet / JSP MVC-Modell?
Die Reihenfolge der Java-Methodenmodifikatoren ist festgelegt
Der in Java 10 eingeführte Schnittpunkttyp ist erstaunlich (?)
Was ist der flüchtige Modifikator für Java-Variablen?
[Java] Dateien in src / main / resources lesen
[Java] In der Ausgabe wird etwas als "-0.0" angezeigt
Was ist CHECKSTYLE: OFF in der Java-Quelle? Checkstyle zu wissen von
Was ist Java Assertion? Zusammenfassung.
Was ist besser, Kotlin oder zukünftiges Java?
Was ist die BufferedReader-Klasse?
[JAVA] Was ist der Unterschied zwischen Schnittstelle und Zusammenfassung? ?? ??
[Java] Ist es nicht erforderlich, "Identität" bei der Implementierung der equals () -Methode zu überprüfen?
[Java] Was ist jaee j2ee?
[Java] Was ist Klassenvererbung?
[Java] Was ist Public static void main (String [] args)?
Wofür ist der Konstruktor?
[Java-Grundlagen] Was ist Klasse?
Was ist Java-Fluchtanalyse?
5. Tag von Java
Warum die get-Methode in der Calendar-Klasse benötigt wird
Was ist ... (3 Punkte) in der Java-Quelle gefunden? Argument mit variabler Länge, von dem man wissen muss
Die Geschichte, dass .java auch in Unity 2018 erstellt wurde
So erhalten Sie den Namen einer Klasse / Methode, die in Java ausgeführt wird
Ich habe [Klonmethode für Java-Arrays] als Klonmethode in Java-Arrays übersetzt.
Was ist die LocalDateTime-Klasse? [Java-Anfänger] -Datum und Zeitklasse-
[Android, Java] Praktische Methode zur Berechnung der Differenz in Tagen
Was ist die Darstellung von Domänenwissen im [DDD] -Modell?
Erstellen Sie eine Methode, um den Steuersatz in Java zurückzugeben
Was ist der Unterschied zwischen einer Aktion und einer Instanzmethode?
Errate den Zeichencode in Java
'% 02d' Was ist der% von% 2?
Automatische Methode zur Größenänderung von Fotos von Java
Geben Sie den Java-Speicherort in eclipse.ini an
Java-Vergleich mit der compareTo () -Methode
Entpacken Sie die Zip-Datei in Java
[Java] Was in der Kapselung stecken geblieben ist
Was ist Thread-sicher (mit Java)
Was ist ein Ausschnitt in der Programmierung?
Was ist @Autowired im Spring Boot?
[Java] Was ist die Ausnahme für gleichzeitige Änderungen?
Analysieren der COTOHA-API-Syntaxanalyse in Java
Was ist ein Lambda-Ausdruck (Java)