java继承——《子类无法继承父类的构造方法》

在java继承中对继承的权限有这样的解释:

1.子类可以继承父类中访问权限修饰符为public和protected的属性和方法;

2.子类可以继承父类中用默认访问权限修饰的属性和方法,但子类和父类必须在同一个包中;

3.子类无法继承父类中访问权限修饰符为private的属性和方法;

4.子类无法继承父类的构造方法。


针对第四点作出如下解释:

子类不可以继承父类的构造方法,只可以调用父类的构造方法。

子类的构造函数第一行都会使用默认的super()语句,默认访问父类中的空参数构造函数。在Java中,任何class的构造方法,第一行语句必须是调用父类的构造方法。如果没有明确地调用父类的构造方法,编译器会帮我们自动加一句super()。

super()方法的作用是在子类初始化时调用父类的空参数构造函数来完成初始化。

因此如果当子类中没用使用super()方法调用父类时,编译过程中会报错:

constructor Truck in class Truck cannot be applied to given types;

//构造函数Truck在Truck类中不能被应用于指定类型;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容