在Java中,当子类重写(Override)父类的方法时,构造函数不会被自动调用。构造函数是在创建对象时调用的,用于初始化对象的状态。当你创建一个子类的对象时,首先会调用父类的构造函数,然后调用子类的构造函数。
如果你需要在子类的构造函数中调用父类的构造函数,可以使用super()关键字。super()必须在子类构造函数的第一行调用。这将调用父类的无参构造函数。如果父类没有无参构造函数,你需要使用super(参数)来调用父类的带参数构造函数。
这里有一个简单的例子:
class Parent {
Parent() {
System.out.println("Parent constructor called");
}
}
class Child extends Parent {
Child() {
super(); // 调用父类的构造函数
System.out.println("Child constructor called");
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
}
}
输出结果:
Parent constructor called
Child constructor called
在这个例子中,当我们创建一个Child对象时,首先调用Parent类的构造函数,然后调用Child类的构造函数。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。