黑马程序员技术交流社区

标题: 为什么所有类的构造方法都默认调用父类的无参构造? [打印本页]

作者: 扶摇丶    时间: 2015-7-12 22:10
标题: 为什么所有类的构造方法都默认调用父类的无参构造?
所有类都直接或者间接的继承自Object类,而且Object类只提供了无参构造。
情况一:如果其他类直接继承Object类,并且假设构造方法默认调用父类的带参构造的话,会因为Object类没有带参构造而出错。
情况二:如果A类继承于B类,如果B类没有手动定义构造方法,系统会默认提供一个无参构造,假设构造方法默认调用父类的带参构造的话,A类调用B类的带参构造,B类没有,也是会报错的。但是调用B的无参构造就没有问题。

作者: 鹰隼展翼    时间: 2015-7-12 22:14
恩学到了
作者: Mr冷夏    时间: 2015-7-12 22:26
因为要先给父类初始化
作者: palysh    时间: 2015-7-13 00:21
是因为 子类继承了父类后就可以直接调用父类的成员变量,所以在子类进行初始化之前必须调用父类构造函数先将父类初始化,而父类中如果没有自定义的构造函数,就默认调用无参的构造函数,
作者: Xia_    时间: 2015-7-13 00:26
好帖子:lol




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2