为了账号安全,请及时绑定邮箱和手机立即绑定

java子类调用父类构造函数的问题?

java子类调用父类构造函数的问题?

Qyouu 2018-08-22 09:14:39
本人刚接触java,对子类调用父类构造函数的问题有点迷糊,写了代码验证了自己的想法但不知道原因。望得到老师指导,感激!我的理解是子类在创建对象时会先调用父类的相关构造函数,再调用子类自身的构造函数,不知道我的理解对不对。代码如下:Question:在没有红色行代码的时候,程序先执行了父类的无参构造函数,接着执行了子类的构造函数;当加上红色行代码后,虽然人为的调用了父类的2参构造函数,可是为什么父类的无参构造函数没有先执行?毕竟我创建的A类对象不传参。另外,即使我的子类构造函数也传递2个参数,在没有红色行代码的时候,程序依旧先执行父类的无参构造函数,这是为什么?谢谢!
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

初始化对象的时候,会默认先调用父类的无参构造方法,然后再调用子类的构造方法。实际上是子类构造方法的首行隐含了一个“super();” 你现在显式的加入了“super(2,3)” 于是会调用父类的有参构造方法,而不去调用无参构造方法。第二个问题也很好理解,当你不写显式的加入“super(2,3)”那个隐藏的"super()"就会被调用。


查看完整回答
反对 回复 2018-08-27
  • 1 回答
  • 0 关注
  • 722 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信