面向对象this关键字和super关键字的区别

面向对象this关键字和super关键字的区别

最近学习了面向对象的this关键字和super关键字,首先我们来看看它们的基本概念:
this关键字概念:当前对象的引用 。
super关键字概念:上级对象的引用。用来访问上级对象的成员。
在Java中,this关键字比较难理解,它的作用和其词义很接近。
1.它在方法内部使用,即这个方法所属对象的引用。
2.它在构造器内部使用,表示该构造器正在初始化的对象。
注意:
1.可以在类的构造器中使用"this(形参列表)"的方式,调用本类中重载的其 他的构造器!
2.明确:构造器中不能通过"this(形参列表)"的方式调用自身构造器
3.如果一个类中声明了n个构造器,则最多有 n - 1个构造器中使用了 “this(形参列表)”
4."this(形参列表)“必须声明在类的构造器的首行!
5.在类的一个构造器中,最多只能声明一个"this(形参列表)”
总之,this 可以调用类的属性、方法和构造器
什么时候使用this关键字呢?
当在方法内需要用到调用该方法的对象时,就用this。具体的:我们可以用this来区分属性和局部变量。 比如:this.name = name;
在Java类中使用super来调用父类中的指定操作:
1.super可用于访问父类中定义的属性。
2. super可用于调用父类中定义的成员方法 。
3. 3.super可用于在子类构造器中调用父类的构造器
注意:
1.尤其当子父类出现同名成员时,可以用super表明调用的是父类中的成员 。
2.super的追溯不仅限于直接父类
3.super和this的用法相像。this代表本类对象的引用,super代表父类的内存 空间的标识
Java当中this和super的区别:
1.属性的区别:
(1)this访问本类中的属性,如果本类没有这个属性则访问父类中的属性。
(2)super访问父类中的属性。
2.方法的区别:
(1)this访问本类中的方法,如果本类没有这个方法则访问父类中的方法。
(2)super访问父类中的方法。
3.构造的区别:
(1)this调用本类构造构造,必须放在构造方法的首行。
(2)super调用父类构造,必须放在子类构造方法首行。
(3)其他区别:this表示当前对象。super不能表示当前对象 。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值