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.
** 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
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.
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