Konstruktor, auch Konstruktormethode und Konstruktorfunktion genannt, ist ein spezieller Methodentyp, der für die Initialisierung von Mitgliedsvariablen (Feldern) in einer Klasse verantwortlich ist. Der Zweck des Konstruktors besteht darin, beim Erstellen eines Objekts eine Initialisierung durchzuführen. Wenn ein Objekt erstellt wird, führt das System eine Standardinitialisierung für die Instanz des Objekts durch.
Was ist ein Konstruktor?
Eigenschaften des Konstruktors
1 muss mit der Klasse identisch sein. Der Name bleibt konsistent und es gibt keinen Rückgabewert, nicht einmal void. 2. Der Java-Compiler erstellt automatisch einen Parameterlosen Konstruktor, sodass wir ihn auch dann weglassen können, wenn es keinen Parameterlosen Konstruktor in der Klasse gibt. Beim Instanziieren eines Objekts muss kein Wert zugewiesen werden. 3 Wenn in der Klasse bereits ein parametrisierter Konstruktor vorhanden ist, stellt der Compiler keinen standardmäßigen Konstruktor ohne Parameter mehr bereit. Beim Instanziieren eines Objekts muss ein Wert zugewiesen werden, andernfalls wird ein Fehler gemeldet. 4. Die Konstruktormethode wird automatisch aufgerufen, wenn die Klasse ein Objekt instanziiert. 5. Kann nicht durch statische, endgültige, synchronisierte, abstrakte und native Änderungen geändert werden. Konstruktoren können nicht von Unterklassen geerbt werden6. Jede Klasse kann null oder mehr Konstruktoren haben.Beispiel 1: Konstruktion ohne Argumente
Studentenklassepublic class Student { //权限修饰符是public,表示内部属性能被其他类访问到。若使用private,则需要set/get才能访问 public String name; public int age; //无参构造,编译器自带,可不写。 public Student(){ System.out.println("括号内无参数,这就是无参构造"); } }
public class Test { public static void main(String[] args) { Student st = new Student();//创建对象,括号内无需赋值 //没赋值的情况下,字符类型默认值为null,数值类型默认值为0 System.out.println(st.name+" "+st.age);//null,0 //对属性进行赋值 st.name="Tom猫"; st.age=5; System.out.println(st.name+"今年"+st.age+"岁了"); } }
括号内无参数,这就是无参构造 null 0 Tom猫今年5岁了
Beispiel 2: Parametrische Konstruktion
Studentenklasse
public class Student { //权限修饰符是public,表示内部属性能被其他类访问到。若使用private,则需要set/get才能访问 public String name; public int age; //无参构造最好也写上 public Student(){ } public Student(String name,int age){ System.out.println("括号内有参数,就是有参构造"); //将形参变量的值,赋给成员变量。 this.name = name; this.age = age; //this.name = "吴邪" 若直接在构造方法内部赋值,则优先执行其内部的值,即吴邪会替掉Tom猫 } }
public class Test { public static void main(String[] args) { //创建对象。赋值后,定义的值会传递给构造器中的形参变量。 Student st = new Student("Tom猫",5);//创建对象,须在括号内赋值,不然报错 //使用对象调用成员变量(java对象只能调用成员变量) System.out.println(st.name+"今年 "+st.age+"岁了"); } }
括号内有参数,就是有参构造 Tom猫今年5岁了
Das obige ist der detaillierte Inhalt vonWas ist ein Java-Konstruktor?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!