java 父类没有无参构造方法,子类如何处理

父类没有无参构造方法

public class Father {
    private String name;

    public Father(String name) {
        this.name = name;
    }
}
-----------------------------------
public class Son extends Father {
    private String sex;
    public Son() {
        super("aa");
        System.out.println("aa");
    }
}

如果子类中没有显式地调用父类的构造方法,编译器会自动在子类的构造方法中插入一个隐式的 super() 调用
但是如果父类中没有无参构造方法,这个隐式的调用会导致编译错误。

结论:子类必须在构造方法中的第一行显示调用父类构造方法。

不写或不在第一行写都会编译报错。

错误示例:

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容