Ein Hinweis zum Initialisieren von Feldern im Java-Lernprogramm

"Feldinitialisierung" des Java-Tutorials, veröffentlicht unter https://docs.oracle.com/en/java/ .html) Ein kurzer Hinweis zu "Static Initialization Blocks", der häufig unter https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html abgefragt wurde. (Detaillierte Kommentare können geschrieben werden, wenn Sie Lust dazu haben)

Grobe Erklärung

Sie können einen Block mit static {....} schreiben und dort die Initialisierung des statischen Feldes einfügen. Dies wird als statische Initialisierungsblöcke bezeichnet.

Der statische Initialisierungsblock ist ein Block, der vor dem Konstruktor ausgeführt wird.

Der statische Initialisierungsblock wird noch nicht ausgeführt, wenn die Klasse nur in der Deklaration verwendet wird.

Der statische Initialisierungsblock wird zuerst ausgeführt, wenn der Konstruktor oder die statische Methode der Klasse aufgerufen wird.

{....} ohne statische Aufladung wird zu Blöcken (Initialisierungsblöcken) zur Initialisierung von Instanzfeldern. Dies wird auch vor dem Konstruktor ausgeführt.

Die Logik in Initialisierungsblöcken wird von jedem Konstruktor aufgerufen. Wenn also eine Konstruktorüberladung vorliegt, können Sie eine Logik einfügen, die für jeden Konstruktor dasselbe tut.

Wenn Sie den Vorgang überprüfen möchten, verwenden Sie die folgende Quelle.

InitializationBlocksSample.java



public class InitializationBlocksSample {
	final static int x;
	int y;

	// Static Initialization Blocks, it is called before first load.
	static {
		x=10;
		System.out.println("Static Initialization Blocks");
	}

	// Initialization Blocks, it it called from all constructors.
	{
		y=10;
		System.out.println("Initialization Blocks");
	}

	// constructor
	public InitializationBlocksSample() {
		System.out.println("non-parameter constructor");
	}

	public InitializationBlocksSample(String param) {
		System.out.println("parameter constructor");
	}

	public static void staticMethod() {
		System.out.println("staticMethod");
	}

	public void instanceMethod() {
		System.out.println("instanceMethod");
	}
}

Main.java



public class Main {
	public static void main(String[] args) {
		InitializationBlocksSample o;

		System.out.println("start");

		InitializationBlocksSample.staticMethod();

		o = new InitializationBlocksSample();
		o.instanceMethod();

		InitializationBlocksSample p = new InitializationBlocksSample("parameter");

	}
}

statisch verwandte Artikel: [Statische Java-Geschichte](https://qiita.com/b1ueskydragon/items/2a6e0812a9cee3fc255f#static-%E3%82%A4%E3%83%8B%E3%82%B7%E3% 83% A3% E3% 83% A9% E3% 82% A4% E3% 82% B6)

Recommended Posts

Ein Hinweis zum Initialisieren von Feldern im Java-Lernprogramm
Überprüfen Sie die Notizen für die Klasse java.util.Scanner
Überprüfen Sie die Notizen für die Klasse java.util.Optional
Ein Überprüfungshinweis für die Klasse java.util.Objects
Überprüfen Sie die Notizen für das Paket java.time.temporal
Ein Hinweis zu den Unterschieden zwischen Schnittstellen und abstrakten Klassen in Java
ChatWork4j für die Verwendung der ChatWork-API in Java
Eine Geschichte über das JDK in der Java 11-Ära
Messen Sie die Größe eines Ordners mit Java
Ein Hinweis, wenn Sie Tupel in Java möchten
Hinweise zu Java GC
Hinweise zum Umfang
Suchen Sie eine Teilmenge in Java
Erstellen wir eine Taschenrechner-App mit Java ~ Zeigen Sie das Anwendungsfenster an
Erstellen Sie eine Methode, um den Steuersatz in Java zurückzugeben
Ein Memorandum, um den juckenden Ort für Java Gold zu erreichen
Anmerkung Nr. 6 "Berechnen Sie die Formel für die als Zeichenfolge empfangene einstellige Summendifferenz" [Java]
Greifen Sie mit Java auf die Netzwerkschnittstelle zu
Errate den Zeichencode in Java
Anfänger spielen Janken-Spiele in Java
Ich habe ein PDF mit Java erstellt.
[Für Anfänger] Führen Sie Selenium auf Java aus
Ich habe eine Antwortfunktion für die Rails Tutorial-Erweiterung (Teil 1) erstellt.
Behandeln Sie die Geschäftslogik für eine Reihe von Entitäten in einer Java-Klasse
[Anmerkung] Was ich in einem halben Jahr von unerfahrenen (Java) gelernt habe
[Anmerkung] Was ich in einem halben Jahr von unerfahrenen (Java) gelernt habe (1)
Entpacken Sie die Zip-Datei in Java
[Java] So suchen Sie mit der Methode includes nach Werten in einem Array (oder einer Liste)
Ein einfaches Beispiel für Rückrufe in Java
Analysieren der COTOHA-API-Syntaxanalyse in Java
[Anmerkung] Was ich in einem halben Jahr von unerfahrenen (Java) gelernt habe (3)
Rufen Sie die öffentliche URL der privaten Datei von Flickr in Java ab
Ich habe eine Antwortfunktion für die Rails Tutorial-Erweiterung (Teil 5) erstellt:
Lassen Sie uns eine TODO-App in Java 5 erstellen. Schalten Sie die Anzeige von TODO um
Bleiben Sie in einem Java Primer stecken
Einstellungen für das SSL-Debugging in Java
So überprüfen Sie den Inhalt der Java-Zeichenfolge mit fester Länge
Nutzen Sie entweder für die individuelle Ausnahmebehandlung in der Java Stream-API
Rufen Sie die Super-Methode in Java auf
Erhöhen Sie dynamisch die Anzahl der Elemente in einem zweidimensionalen Java-Array (mehrdimensionales Array).
Die Geschichte, zu vergessen, eine Datei in Java zu schließen und zu scheitern
Beispielprogramm, das den Hashwert einer Datei in Java zurückgibt
[Socket-Kommunikation (Java)] Eindrücke von der erstmaligen Implementierung der Socket-Kommunikation in der Praxis
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
[Java] [Für Anfänger] So fügen Sie Elemente direkt in ein zweidimensionales Array ein
Erste Programmierung in meinem Leben Java 1st Hello World
[AWS SDK für Java] Legen Sie die Wiederholungsrichtlinie für den S3-Client fest
Richten Sie eine Java-GUI in einem separaten Thread ein, um die Haupt-GUI beizubehalten
[Java] Implementieren Sie eine Funktion, die eine im Builder-Muster implementierte Klasse verwendet
Informationen zum Zurückgeben einer Referenz in einem Java Getter
Was ist eine Klasse in der Java-Sprache (3 /?)
Bei der Suche nach mehreren in einem Java-Array
Holen Sie sich das Ergebnis von POST in Java
Java-Referenz zum Verständnis in der Abbildung
Einführung in Java zum ersten Mal # 2
Erste Schritte für tiefes Lernen in Java
Wichtige Punkte für die Einführung von gRPC in Java
Versuchen Sie es mit der Stream-API in Java