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

为什么我把父类无参的构造方法注释了,子类无参的构造方法没有显示错误?


 2、怎么使父类有参构造方法中的age输出?

http://img1.sycdn.imooc.com//5e8328280001bf6510730601.jpghttp://img1.sycdn.imooc.com//5e83284a0001519706690459.jpghttp://img1.sycdn.imooc.com//5e83285900019bf906130301.jpg

正在回答

4 回答

首先,你的父类Animal有void返回值 所以不是构造函数(构造函数没有返回值);另外父类如果有带参构造函数,那么此类就不会再提供默认的无参构造函数(除非显示的写出无参构造函数),而这个时候,你的子类必须要有一个带参构造函数并且使用supper(supper必须放在构造函数第一句,并且不能和this同时出现)调用父类带参构造函数,因为子类继承父类是先去父类里面找构造函数,其次去执行子类的构造函数。



1 回复 有任何疑惑可以回复我~

你的Animal类的构造参数都写错了,不应该有void返回值,如果有返回值系统会认为是一个普通的方法,不是构造方法,所以相当于你没有定义有参的构造方法,那么默认的无参方法依然存在。

1 回复 有任何疑惑可以回复我~
#1

慕粉giner

此大神完全正确。
2020-05-13 回复 有任何疑惑可以回复我~

如果一个类没有提供无参构造器,在其子类构造对象时会自动生成一个无参构造器;

但是如果你自己声明了其他的构造器,父类就不会声明无参构造器了

0 回复 有任何疑惑可以回复我~
#1

慕哥7131774 提问者

当父类没有声明无参构造方法,声明的是有参构造方法,子类的无参构造方法不应该是显示代码错误吗?视频演示中就显示错误了,我的代码为什么就不显示?
2020-04-08 回复 有任何疑惑可以回复我~

为什么我把父类无参的构造方法注释了,子类无参的构造方法没有显示错误?

这个问题我冒昧回答一下,我的理解就是你可以理解你创建的父类其实他也有一个父类为Object,你没有父类的无参构造方法,是会默认的调用Object的无参构造方法,然后你写的子类又调用Object的无参构造,我是这样理解的。仅供参考,我也是初学

0 回复 有任何疑惑可以回复我~
#1

慕哥7131774 提问者

上边视频演示的,当父类只有有参的构造方法,没有无参的构造方法,子类无参的构造方法就会显示代码错误!
2020-04-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我把父类无参的构造方法注释了,子类无参的构造方法没有显示错误?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信