【发布时间】:2019-05-14 13:19:14
【问题描述】:
如果我有一个没有定义构造函数的子类,但在超类中定义了一个构造函数,当子类对象被实例化时,子类会使用该构造函数吗?
【问题讨论】:
-
没有。只有子类的构造函数调用使用父构造函数。类本身没有。而且,是的,每个构造函数调用都会调用其父类的构造函数
-
如果您没有自己显式创建构造函数,它将使用默认的
Sub() { super(); }。这显然仅在父类具有无参数构造函数时才有效。如果没有,Java 将不编译你的程序。
标签: java class constructor