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

来源:9-7 Java 中的 super 的使用

慕哥7131774

2020-03-31 19:27


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

http://img2.mukewang.com/5e8328280001bf6510730601.jpghttp://img3.mukewang.com/5e83284a0001519706690459.jpghttp://img4.mukewang.com/5e83285900019bf906130301.jpg

写回答 关注

4回答

  • weixin_慕雪9446803
    2020-06-12 19:25:02

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



  • blowwind
    2020-04-12 23:55:55

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

    慕粉gine...

    此大神完全正确。

    2020-05-13 21:38:44

    共 1 条回复 >

  • qq_慕神6128318
    2020-04-02 11:19:24

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

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

    慕哥7131...

    当父类没有声明无参构造方法,声明的是有参构造方法,子类的无参构造方法不应该是显示代码错误吗?视频演示中就显示错误了,我的代码为什么就不显示?

    2020-04-08 09:07:28

    共 1 条回复 >

  • regardless5601147
    2020-04-01 15:47:56

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

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

    慕哥7131...

    上边视频演示的,当父类只有有参的构造方法,没有无参的构造方法,子类无参的构造方法就会显示代码错误!

    2020-04-08 09:03:43

    共 1 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530644 学习 · 6091 问题

查看课程

相似问题