this和super用法的区别与细节(java继承中this和super的比较)(简洁而精炼)

☀️☀️问题:在java的继承中,我们经常会用到super和this,下面是我总结的这两者的区别与使用细节

this和super比较
No.区别点thissuper
1访问属性访问本类中的属性,若本类没有则从父类中依次查找跳过本类,直接从父类中依次查找
2调用方法访问本类中的方法,若本类没有则从父类中依次查找跳过本类,直接从父类中依次查找
3调用构造器调用本类构造器,必须放在首行调用父类构造器,必须放在子类构造器首行
4特殊表示当前对象子类访问父类对象

❗️❗️❗️在构造器中两者都需要放在首行,因此同一个构造器中this和super不能共存

super关键字使用细节
  • 基本介绍:super代表父类的引用,用于访问父类的属性、方法、构造器
  • 基本语法:
    1. 访问父类非private属性super.属性名
    2. 访问父类非private方法super.方法名(参数列表)
    3. 访问父类构造器super(参数列表)只能放在构造器第一句且只能出现一次
  • super带来的便利与细节
    1. 调用父类构造器的好处(分工明确,父类属性由父类初始化,子类属性由子类初始化)
    2. 当子类属性有和父类重名时,使用super访问父类;若无重名时,使用super、this效果都是一样的。
    3. super的访问不限于直接父类,如果爷爷类中有和本类中重名的成员,也可以使用super去访问;如果多个基类中都有同名成员,遵循就近原则。
评论 55
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写代码两年半

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值