java this关键字的使用_【java】this和super关键字的比较

10aa2ef29942d49270a9eeb79d4d3aa2.png

0d9040916ccfd713083326d469dc564d.png

主要内容在这1张图片中,本文主要针对这两张图片进行展开和描述。


1.this关键字

每个非静态类(不被static所修饰)方法,里面都内含有一个this关键字,当我们调用this关键字时候,指向这个类的对象。其次,在使用方法内的属性时候,也包含了一个this关键字,可以使用也可以不使用。

this可以看作一个变量,它的值是当前对象的引用。

this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用,如果是在同一个类中调用另外一个方法,就可以不用写this,直接调用。在调用属性或者方法时候,如果自己的类没有会向上找父类中有没有。

我们为了区分属性和局部变量的时候,可以通过this关键字来调用。

用法:当非静态方法中的参数名与类的某个成员变量名相同时候,为了避免参数作用范围覆盖了成员变量作用范围,要用this关键字来指定。

this.name=name;

如果某个构造方法中第一条语句具有形式this(...),那么这个构造方法会调用本类中的其他构造方法,而且必须要放在首行才可以。

如果某个方法需要传入当前的对象,则可以将当前对象(this)作为参数传递给它。

2.super关键字

super关键字就是为了调用父类中的方法,当子类中存在父类同名的成员时候,会默认访问子类的,想访问父类的得加super关键字。当子类继承父类时候,并且创建子类对象时候,会默认调用父类无参数的构造方法,也可以通过super关键字来指定调用父类构造方法,不过必须放在第一行调用。

super的用法:

super可以用来引用直接父类的实例变量。super.name;

super可以用来调用直接父类方法。super.get();

super()可以用于调用直接父类构造函数 super();

3.super和this的区别

(1.)代表的事物不同

super代表的是父类空间的引用

this代表的是所属函数的调用者对象

(2.)使用前提不同

super必须要有继承关系才能使用

this不需要继承关系也能使用

(3.)调用的构造函数不同

super:调用父类的构造函数

this:调用所属类的构造函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值