java中this指针的作用?

一.

   废话不多说,看代码:

  我们定义一个Student类,用来测试,其中,Student中有两个成员变量:StuName(学生姓名),StuNo(学生学号)。


运行结果:



当我们把this指针加上。


运行结果:


  这是什么意思呢?

 当我们在一个类中写一个方法时,当传入的参数的参数名该类的成员变量名相同,并且把参数赋值给与之同名的成员变量时(如图),



此时编译器并不知道到底是参数赋值给成员变量,还是成员变量赋值给参数;所以就有了this指针的诞生;

当我们把this指针加上时(如图):



这时编译器就会知道,是把传进来的参数赋值给成员变量。


二,

   说到这里相信大家应该就明白了,那接下来我们来看看如果传入的参数的参数名不同时,会是怎样的? 来我们上代码:





运行结果:

加上this指针之后:



运行结果:



 通过以上代码我们可以发现,当我们传入的参数的参数名不同时,并不会对结果造成影响,这又是什么情况呢? 

  原来因为编译器会隐示的给成员变量添加this指针,所以当参数不同时,照样可以运行了。

  小伙伴们懂了吗?

 不管懂不懂我也要废话几句。其实this指针其实就是一个类的对象,举个例子;如图,我们在Student类中添加一个方法交useThis(),并在方法里用this指针调用该类的其他方法;



运行结果:



  这又是什么原因呢?

  当我们用Student定义一个对象时,



如图中的s,此时s就会有一个属于自己的this指针,并指向他本身,在类的内部就可以用this指针(像一般的对象调用方法一样)调用类的方法。


三,

 以上是我对this指针的一些理解,希望对你有帮助,当你理解了this指针之后,在之后学习其他语言都会遇到,到时候你就能轻松的理解这个东西了。

四,  

若有异议,下方留言,我们一起讨论!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值