Java 中父类构造方法对子类构造方法的影响

     一、super()在构造方法中的作用

         1、 super()在构造方法中使用可以使该类的构造方法调用其父类的构造方法:

         2、super中可以添加参数,可以根据super中的类型调用父类中与该参数类型相同的构造方法:

         3、易出错的地方就是:在子类中调用了父类中不存在的构造方法:

              此时因为父类中的无参构造方法已经不存在了,此时使用super()会出现错误,因为父类中已经不存在无参构造方法

     二、super()在构造方法中的使用技巧

         1、构造方法中的默认属性

                  在构造方法中默认含有一个super(),所以可以不写;

                如图所示,即使子类中为并未声明super,但父类中的构造方法依旧被调用了;

         2、super首行有效代码性

                  super只能出现在有效代码的首行,不可以写在代码后面,这一点与this在同类中引用相同;所以,当一个构造方法中引用了另一个构造方法时原来的构造方法中默认的super是不存在的;通过this调用的构造方法方法中也含有一个super,此时由于最后被调用的构造方法中必含有super,于是父类的构造方法也被调用了,如图:

    三、通过super()总结父类对子类构造方法的影响

        当子类创建对象时,父类的构造方法一定被使用

            无论是子类中的构造方法是否含有this,在创建对象时其子类中最后一个被执行的构造方法一定含有super,这使得父类中的构造方法也被调用;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值