关键字super的细节/和this的比较

super代表父类的引用,用于访问父类的属性、方法和构造器。

1、访问父类的属性,但不能访问父类的private属性

        super.属性名;

2、访问父类的方法,但不能访问父类的private方法

        super.方法名(参数列表);

3、访问父类的构造器

        super(参数列表);只能放在构造器的第一句,只能出现一句。只能放在构造器里。不能出现在普通的方法里。有的时候需要两个构造器,一个有参数,一个无参数。

4、当子类中有和父类中的成员(方法和属性)重名时,为了访问父类的成员,必须通过super。如果没有重名,使用super。

call.()是从子类开始向上查找。

this.call ()  和    call()是一样的都是从子类开始想上查找。

super.call()的步骤:是直接查找父类,若父类没有那么接着向上查找。

若是要查找的是private,那么就会报错。若没有找到,那么就会说该方法不存在。

5、super的访问不限于直接父类,如果爷爷类和本类中有同名的成员,也可以使用super去访问爷爷类的成员,如果多个基类(上级类)中都有同名的成员,使用super类遵循就近原则。

若需要找的方法是private的话,他也会一直找到最顶级的类。

这里的例子很重要!!!

 

调用构造器:直接super(""),    super(""); 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值