关于无参构造

关于无参构造

1、主方法中调用的是带参的构造方法,可以运行我知道。

2、子类的无参构造默认调用父类的无参构造,我也知道。

3、但是主方法中根本没有调用无参构造,为什么说编译错误?

4、是不是调用带参构造前,就会调用无参构造方法,到底他们执行流程是什么?

老师视频里的调试我没看懂。

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,这节课主要讲的是子类继承父类时的加载顺序。当创建一个子类对象时,加载顺序如下所示:

1、加载父类中的静态成员

2、加载子类中的静态成员

3、加载父类成员属性,调用父类代码块

4、调用父类构造方法

5、加载子类成员属性,调用子类代码块

6、调用子类构造方法

同学所说:假如子类无参构造方法调用父类带参构造方法,步骤就是:

先进入子类无参构造方法->直接调用父类带参构造方法(调用父类构造方法的语句放在子类构造方法第一行)->最后执行子类构造方法中的其他语句。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

吃吃吃鱼的猫 2019-06-18 16:53:55

同学你好,子类中构造方法(无参或带参)默认都会调用父类的无参构造方法。

在Truck的无参构造方法中,默认调用父类Car的无参构造方法。但是Car中并没有定义无参构造,所以,标识为2处会编译错误。

但是因为主方法中没有使用到Truck的无参构造,编译错误不影响运行,所以能输出正确结果。

http://img1.sycdn.imooc.com//climg/5d08a5760001f4d407300421.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 慕移动ttong #1
    老师你能给我说说具体执行流程吗?视频里的调试,一会这,一会那,我没看懂。 1、假如子类无参构造方法调用父类带参构造方法,是不是就这样: 父类无参构造方法——父类带参构造方法——子类带参构造方法
    2019-06-18 17:04:04
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师