Java 如何理解构造函数方法can';不能继承

Java 如何理解构造函数方法can';不能继承,java,inheritance,Java,Inheritance,我正在准备一次面试,有一个问题让我很困惑。 人们说java中的构造函数不能被继承,但是像这样的代码 public class childclass extends parentclass{ public childclass(){ super(); System.out.println("child"); } public static void main(String[] args) { childclass cc = new childclass(); }} s

我正在准备一次面试,有一个问题让我很困惑。 人们说java中的构造函数不能被继承,但是像这样的代码

public class childclass extends parentclass{

public childclass(){
    super();
    System.out.println("child");
}

public static void main(String[] args) {
    childclass cc = new childclass();
}}
super()不是意味着childclass继承了父类的构造函数吗

如果构造函数没有显式调用超类构造函数,Java编译器会自动插入对该超类的无参数构造函数的调用。如果超类没有无参数构造函数,则会出现编译时错误。对象确实有这样的构造函数,所以如果对象是唯一的超类,就没有问题了


根据

的说法,构造函数不是成员,因此它们不会被子类继承,但是超类的构造函数可以从子类调用。

这可能会有点混淆。但是,您不是在继承父构造函数,而是在使用它


专用类继承父类的所有成员,但不继承构造函数,尽管专用类必须使用它,但通过
super
我想,这个问题在中得到了回答。继承意味着子类中方法(和构造函数)的名称与父类中的名称相同。但是子类中的构造函数名等于子类的类名,而不等于父类的构造函数名。

必须从子类的构造函数调用超类的构造函数(尽管这可以隐式完成,如果超类具有零参数构造函数)。假设继承了构造函数。。。然后,因为每个类最终都是从对象派生的,所以每个类最终都会得到一个无参数构造函数。那是个坏主意。请查看此以了解更多详细信息。非常感谢,下次我将首先尝试搜索