• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

super关键字问题。

为什么子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的构造方法的时候会编译出错呢?
这是什么原因呢?难道子类中当父类没有无参的构造方法时就不能够使用无参的构造方法了吗?
求解

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与3

没有给类写构造函数时,系统默认有个无参的构造函数;
1、一旦你手动写了构造函数,就会覆盖默认的构造函数;(JVM不会在创建默认的了)
2、当主动写带参数的构造函数时,最后写个无参的构造函数,避免有时不想调有参构造函数时,可以调用无参的。
子类中当父类没有无参的构造方法时就不能够使用无参的构造方法
因为每个对象在构造成功以前,都必须先构造其父类
你报错的原因,是因为你在子类构造方法中没有调用了父类有参的构造方法,而编译器发现,父类中也没有无参的构造方法,找不到你那个对应的构造方法了,所以它认为你的父类对象构造失败
类被继承的时候,如果你没有特定的super调用父类的带参构造方法时,系统会首先调用父类的无参构造方法
如果你在父类中没有写无参构造方法,那么在子类的构造方法中必须显示的调用父类中的有参数的构造方法(写在第一句)。
方便请采纳!

使用道具 举报

同学你好,这是java的强制语法规则

使用道具 举报

子类的构造默认会调用父类的无参构造。而无参构造默认是有的,但是当你手动定义了有参构造时,无参构造就不会有了,此时需要显式地写出无参构造

使用道具 举报

发新帖

发布任务需求已有1031289位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!