黑马程序员技术交流社区

标题: 关于重写构造方法为什么非要调用父类init的问题 [打印本页]

作者: 邵起    时间: 2014-11-16 08:58
标题: 关于重写构造方法为什么非要调用父类init的问题
复习到构造方法时,又被这个问题困扰,子类既然有父类的一切属性,子类也有自己的init,这跟父类有什么关系呢,求大神解答。

作者: 星河鹭起    时间: 2014-11-16 10:34
只有当父类初始化完毕后,子类才能初始化。打个比方,如果父母都没准备好,怎么可能会有子女呢
作者: 邵起    时间: 2014-11-17 08:06
星河鹭起 发表于 2014-11-16 10:34
只有当父类初始化完毕后,子类才能初始化。打个比方,如果父母都没准备好,怎么可能会有子女呢 ...

理论上来说,是真么回事儿~
作者: itDave    时间: 2014-11-19 00:00
因为,你构造一个对象时,父类先初始化完,才能保证子类的继承有效
作者: 梦浮冀北    时间: 2014-11-19 00:24
这就是super()的用处
作者: MacxChina    时间: 2014-11-19 02:19
星河鹭起 发表于 2014-11-16 10:34
只有当父类初始化完毕后,子类才能初始化。打个比方,如果父母都没准备好,怎么可能会有子女呢 ...

这比喻话粗理不粗!
作者: 邵起    时间: 2014-11-19 10:05
itDave 发表于 2014-11-19 00:00
因为,你构造一个对象时,父类先初始化完,才能保证子类的继承有效

有道理~
作者: 3-_-3    时间: 2014-11-19 11:07
楼上正解




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