A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 490191916 中级黑马   /  2015-12-11 17:08  /  2624 人查看  /  29 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请各位给讲讲这里的this是什么用法和这个整体用法
  1. public class MyBufferdReader{      private Reader r;
  2.       
  3.       public MyBufferdReader(Rdader r){
  4.             this.r=r;      
  5.       }
  6. }
复制代码



29 个回复

正序浏览
云鱼 中级黑马 2015-12-25 21:52:57
30#
谁调用,代表谁
回复 使用道具 举报
this 是用于区别局部变量和成员变量同名的情况,代表本类对象,代表它所在函数所属对象的引用。
也就是说哪个对象在调用this所在的函数,this就代表哪个对象。
回复 使用道具 举报
加油加油
回复 使用道具 举报
this代表哪个对象调用此方法,就代表谁
回复 使用道具 举报
this是对当前对象的引用
回复 使用道具 举报
this指代的是当前对象,表示当前对象的引用
回复 使用道具 举报
this指代的是当前对象,表示当前对象的引用
回复 使用道具 举报
anuo 中级黑马 2015-12-16 22:18:46
23#
this用来区分成员变量和局部变量
回复 使用道具 举报
顶一个!
回复 使用道具 举报
传入MyBufferReader方法的值赋给了成员变量r
回复 使用道具 举报
icm 中级黑马 2015-12-14 22:14:19
20#
this代表当前对象的引用,谁调用它,它就代表谁,可以用来解决成员变量和局部变量重名的问题。
回复 使用道具 举报
右边的r:传递进来的实际参数;
左边的this.r:  相当于mybufferreader.reader,相当于给对象成员初始化值
回复 使用道具 举报
this就是当前对象。没有别的。
回复 使用道具 举报
this代表本类对象!super代表父类对象
回复 使用道具 举报
感觉大家的回复虽然很对,但是很乱,对楼主理解起来不方便,所以决定总结一下。首先,这里的用法是this代表当前类中的成员变量,this.r=r 的意思是吧该方法传递进来的 Reader  r 赋值给this.r,也就是复制给成员变量。其次,this除了可以指代当前类的成员变量,还可以用于指代当前对象。
回复 使用道具 举报
ash午夜阳光 发表于 2015-12-12 01:56
this是一个对象的引用,哪个对象调用就引用谁

this.r和r哪个是代表成员变量private Reader r?
回复 使用道具 举报
hrfhwy 中级黑马 2015-12-13 20:13:14
14#
this堤代表本类对象,哪个对象代表调用它,他就代表哪个对象
回复 使用道具 举报
局部变量和成员变量同名时,this就表示成员变量
回复 使用道具 举报
局部变量和成员变量同名时,this就表示成员变量
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马