在Java中,構造函數(Constructor)是一種特殊的方法,用于初始化對象的狀態
在子類的構造函數中,首先需要調用父類的構造器。這可以通過使用super
關鍵字來實現。例如:
class Parent {
Parent() {
System.out.println("Parent constructor called");
}
}
class Child extends Parent {
Child() {
super(); // 調用父類構造器
System.out.println("Child constructor called");
}
}
this()
關鍵字:在同一個類中,如果有多個構造函數,可以使用this()
關鍵字來調用其他構造函數。這樣可以避免代碼重復。例如:
class MyClass {
int x;
int y;
MyClass() {
this(0, 0); // 調用另一個構造函數
}
MyClass(int x, int y) {
this.x = x;
this.y = y;
System.out.println("MyClass constructor called with parameters");
}
}
創建對象時,會自動調用相應的構造函數。例如:
class MyClass {
MyClass() {
System.out.println("MyClass constructor called");
}
}
public class Main {
public static void main(String[] args) {
MyClass obj = new MyClass(); // 調用MyClass的構造函數
}
}
注意:如果父類沒有默認的無參數構造函數(即沒有參數的構造函數),那么在子類中調用父類的構造器時,必須顯式地傳遞參數。否則,編譯器會報錯。