黑马程序员技术交流社区

标题: 继承中构造方法的执行流程是什么? [打印本页]

作者: absin    时间: 2016-7-7 23:04
标题: 继承中构造方法的执行流程是什么?
如题,如果可以的话麻烦给个内存中运动的示意图

作者: 夏:默秋凉    时间: 2016-7-8 00:25
继承中的构造函数啊
只要一有继承子类继承父类的时候,他都在子类构造函数中第一行都会隐式有一个super()引用
这个是空参数的构造函数,也可以制动参数的构造函数,但是你不管怎么指定构造函数它都会默认有一个隐式的super()或super(参数),记住至少有一个,因为总有一个会调用父类的构造函数
调用的时候不能讲子类的构造函数的出口封死,最好是留下一个出口,防止栈内存数据溢出,一般留下空参数的构造函数作为出口。
还有有this()存在的时候和super()同时存在两者都放在第一行,要不会报错,因为对象的初始化在前,所有执行前都必须初始化,如果this和super同时存在,只有this就可以,因为this()同样调用子类构造函数,调用之后构造函数里也存在默认的super(),同样可以访问父类。
作者: 怡蓝    时间: 2016-7-8 17:07
好复杂,好复杂啊,好复杂啊啊啊啊啊啊啊啊
作者: absin    时间: 2016-7-8 23:19
夏:默秋凉 发表于 2016-7-8 00:25
继承中的构造函数啊
只要一有继承子类继承父类的时候,他都在子类构造函数中第一行都会隐式有一个super() ...

非常详细 全面,谢谢,看了后秒懂~~~~~
作者: thomaspathe    时间: 2016-7-8 23:47
我们老师给的标准答案是这个,先执行父类的构造方法,后执行子类的构造方法。
作者: thomaspathe    时间: 2016-7-8 23:50
我们老师给的标准答案是这个,先执行父类的构造方法,后执行子类的构造方法。
作者: Insomnia!    时间: 2016-7-9 06:46
楼上总结的挺好




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