黑马程序员技术交流社区

标题: 请教-this的用法 [打印本页]

作者: 490191916    时间: 2015-12-11 17:08
标题: 请教-this的用法
请各位给讲讲这里的this是什么用法和这个整体用法
  1. public class MyBufferdReader{      private Reader r;
  2.       
  3.       public MyBufferdReader(Rdader r){
  4.             this.r=r;      
  5.       }
  6. }
复制代码




作者: ROSSIN    时间: 2015-12-11 18:15
this用于区分成员变量名与参数名
作者: 刀郎去西藏    时间: 2015-12-11 22:10
this 就是一个指向对象的引用变量,this.r就相当于person类中有个成员变量是name,Person p = new Person(String name); p.name = name。如果时非静态的成员变量就只能这样调用,用“对象引用变量.成员变量”来调用。如果时静态的那就是“类名.变量”
作者: ash午夜阳光    时间: 2015-12-12 01:56
this是一个对象的引用,哪个对象调用就引用谁
作者: 魏志林    时间: 2015-12-12 11:32
你这个this是代表 MyBufferdReader类对象,this.r表示这个类对象的属性,参数传过来的r赋值给 MyBufferdReader类的属性r。
作者: anuo    时间: 2015-12-12 16:23
为了区在分局部变量和参数名相同的情况下,系统识别错误的差别。
作者: zcbcba123    时间: 2015-12-12 16:45
我认为this就是调用的当前类的当前类里的东西。。。例如当前的this.r就是调用的当前类的成员变量 private Reader r;这句
然后把public MyBufferdReader(Rdader r){这句的r给到成员变量里,通过 this.r=r;      
作者: Zrz_K    时间: 2015-12-12 19:04
this代表对当前对象的引用(谁调用this,this就代表谁)。这段代码的成员变量和局部变量重名,所以用this.r代表成员变量加以区分。
作者: Jerson_ZF    时间: 2015-12-12 20:04
this代表的是运行时对象引用。
作者: 王晓亮    时间: 2015-12-12 20:32
!!!!!
作者: hyl    时间: 2015-12-12 21:30
this 用来区分成员变量和局部变量重名时。
作者: 汐枫wait    时间: 2015-12-12 22:46
局部变量和成员变量同名时,this就表示成员变量
作者: 汐枫wait    时间: 2015-12-12 22:52
局部变量和成员变量同名时,this就表示成员变量
作者: hrfhwy    时间: 2015-12-13 20:13
this堤代表本类对象,哪个对象代表调用它,他就代表哪个对象
作者: 490191916    时间: 2015-12-14 10:22
ash午夜阳光 发表于 2015-12-12 01:56
this是一个对象的引用,哪个对象调用就引用谁

this.r和r哪个是代表成员变量private Reader r?
作者: 李永佳    时间: 2015-12-14 16:45
感觉大家的回复虽然很对,但是很乱,对楼主理解起来不方便,所以决定总结一下。首先,这里的用法是this代表当前类中的成员变量,this.r=r 的意思是吧该方法传递进来的 Reader  r 赋值给this.r,也就是复制给成员变量。其次,this除了可以指代当前类的成员变量,还可以用于指代当前对象。
作者: river1205    时间: 2015-12-14 20:50
this代表本类对象!super代表父类对象
作者: xiaoaonuanhu    时间: 2015-12-14 21:28
this就是当前对象。没有别的。
作者: DayBreak    时间: 2015-12-14 22:14
右边的r:传递进来的实际参数;
左边的this.r:  相当于mybufferreader.reader,相当于给对象成员初始化值

作者: icm    时间: 2015-12-14 22:14
this代表当前对象的引用,谁调用它,它就代表谁,可以用来解决成员变量和局部变量重名的问题。
作者: 隔壁老猫    时间: 2015-12-15 00:30
传入MyBufferReader方法的值赋给了成员变量r
作者: oscar_tao    时间: 2015-12-16 18:39
顶一个!
作者: anuo    时间: 2015-12-16 22:18
this用来区分成员变量和局部变量
作者: 1158147908    时间: 2015-12-24 22:07
this指代的是当前对象,表示当前对象的引用
作者: 1158147908    时间: 2015-12-24 22:11
this指代的是当前对象,表示当前对象的引用
作者: 鳌少宝    时间: 2015-12-24 22:48
this是对当前对象的引用
作者: WaterTheGreat    时间: 2015-12-25 13:11
this代表哪个对象调用此方法,就代表谁
作者: 愿爱无忧    时间: 2015-12-25 14:01
加油加油
作者: 一大把手    时间: 2015-12-25 15:00
this 是用于区别局部变量和成员变量同名的情况,代表本类对象,代表它所在函数所属对象的引用。
也就是说哪个对象在调用this所在的函数,this就代表哪个对象。
作者: 云鱼    时间: 2015-12-25 21:52
谁调用,代表谁




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2