在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的构造函数
}
}
注意:如果父类没有默认的无参数构造函数(即没有参数的构造函数),那么在子类中调用父类的构造器时,必须显式地传递参数。否则,编译器会报错。