打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
为什么子类的构造器中要调用父类的无参构造方法,有什么意义?

当一个子类调用构造方法时,我们知道它都会调用父类隐性的构造方法,如图:

但是,我发现一个问题,为什么要这样设计,为什么子类一定要调用到父类的无参构造方法,或者你可以选择调用其他有参的父类构造方法,这可能跟子类实例化的时候也要先加载父类的构造代码块,静态代码块一个缘由。于是我查了很多资料发现,大概都是同一个意思:因为子类继承父类之后,获取到了父类的内容(属性/字段),而这些内容在使用之前必须先初始化,所以必须先调用父类的构造函数进行内容的初始化.

同时我看到论坛有一个回复:

我得出的结论是:这是java的一种规范,告诉我们如果子类实例化,那就需要先初始化父类的变量,例如私有的成员变量(通过父类构造方法),子类才不需要自己去实例化分类的变量。

参考资料:

https://blog.csdn.net/PoorGuy_tn/article/details/79854846

https://blog.csdn.net/qq_34787830/article/details/52194200

https://www.cnblogs.com/alsf/p/9286821.html

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
​1.静态代码块 2.构造代码块3.构造方法
Java中变量的初始化顺序
Java类变量初始化顺序
java中的修饰符static与静态方法final的用法
java基础
Java单例模式探究
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服