[JAVA] Wofür ist der Konstruktor?

Was ist ein Konstruktor?

Mit einer speziellen Methode, die beim Erstellen einer Instanz automatisch ausgeführt wird ** Sie können den Ausgangszustand der Instanz frei steuern! ** ** **

Das heißt, lassen Sie uns den Code tatsächlich ausführen.

Was ist, wenn es keinen Konstruktor gibt?

** Standard für jeden Typ wird in den Wert eingegeben ** Angenommen, Sie haben ein Programm, das Kundeninformationen abruft.

	//Kundeninformationen definieren
	class CustomerCard {
		int id; //Kundennummer
		String name; //Kundenname
	}

	class CustomerManager {
		public static void main(String[] args) {
			CustomerCard out = new CustomerCard(); //Instanzerstellung
			System.out.println(out.id); //Kunden-ID ausgeben
			System.out.println(out.name); //Kundennamen ausgeben
		}
	}

Wenn ich das mache, ist das Ergebnis:

0 //Kundennummer
null //Kundenname

Warum passiert das?

Wenn eine Klasse instanziiert (neu) wird, werden Mitgliedsvariablen, die keinen Wert enthalten, automatisch initialisiert. Denken Sie daran, dass es eine Regel gibt, nach der numerische Typen wie int auf 0, boolesche Typen auf false und Referenztypen wie String auf null initialisiert werden.

Versuchen Sie es mit einem Konstruktor

Setzen wir den Konstruktor in das vorherige Programm, setzen den ** Anfangszustand ** und führen ihn aus.

	class CustomerCard {
		int id; //Kundennummer
		String name; //Kundenname

	//**Legen Sie den Anfangswert im Konstruktor fest**
	CustomerCard() {
			this.id = 1111;
			this.name = "taylor";
		}
	}

	class CustomerManager {
		public static void main(String[] args) {
			CustomerCard out = new CustomerCard(); //Instanzerstellung
			System.out.println(out.id); //Kunden-ID ausgeben
			System.out.println(out.name); //Kundennamen ausgeben
		}
	}

Das Ergebnis ist dies.

1111 //Kundennummer
taylor //Kundenname

Ja, der im Konstruktor angegebene Wert ist der Anfangswert. Es wäre schön zu verstehen, dass der Konstruktor den Anfangswert der Instanz so festlegen kann.

Recommended Posts

Wofür ist der Konstruktor?
Was ist ein Konstruktor?
Wofür ist das Fassadenmuster nützlich?
Was ist der flüchtige Modifikator für Java-Variablen?
Was ist die Zupfmethode?
[Ruby] Wofür wird `!!` verwendet?
Was ist die Initialisierungsmethode?
'% 02d' Was ist der% von% 2?
Was ist Cubby?
Was ist null? ]]
Spring Autowired wird im Konstruktor geschrieben
Was ist der beste Migrationsdatentyp? ??
Was ist Schlüsselumhang?
Was ist ein Test? ・ Über die Wichtigkeit eines Tests
Was ist Maven?
Was ist Jackson?
[Für Programmieranfänger] Was ist eine Methode?
Was ist Selbst
Was ist Jenkins?
Was ist ArgumentMatcher?
Was ist das beste Lesen von Dateien (Java)
Was ist params
Was ist SLF4J?
[Für Super-Super-Anfänger] Was ist Objektorientierung?
Was ist Fassade? ??
Was ist Java <>?
Was ist Gradle?
Was ist POJO?
Was ist die Hauptmethode in Java?
Was ist java
Wie ist die Datenstruktur von ActionText?
Was ist centOS?
Was ist RubyGem?
Was ist before_action?
Was ist Docker?
Was ist Byte?
Was ist Tomcat?
Was ist JSP? ~ Lassen Sie uns die Grundlagen von JSP kennen !! ~
Was ist das Java Servlet / JSP MVC-Modell?
Was unterscheidet sich von der PHP-Sprache. [Hinweis]
Was ist der Unterschied zwischen SimpleDateFormat und DateTimeFormatter? ??
Was ist Maven Assembly?
Was ist Docker-Compose?
Was ist vue cli
Was ist eine Schnittstelle?
Was ist Rubys Selbst?
Was ist harte Codierung?
Was ist ein Stream?
Was ist Rubys attr_accessor?
Was ist Java-Kapselung?
Was ist die Erlaubnis verweigert?
Was ist Instanzsteuerung?
Was ist ein Initialisierer?
Was ist Spring Tools 4?
Was ist ein Operator?