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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 石头stone 中级黑马   /  2016-5-13 22:40  /  855 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Android学习中,对this的用法不是很明确:this.XX,this(),还有this.print()都是在什么时候用呢?请大神指导.

13 个回复

正序浏览
区分成员变量和局部变量的重名
回复 使用道具 举报
当局部变量覆盖成员变量,如果想访问成员变量,必须使用this关键字
当本类中一个构造方法想访问另外一个构造方法时
回复 使用道具 举报
J_P 中级黑马 2016-5-22 20:58:58
12#
怎么用?
从前有座山
山上有个类
类中有个方法
类中的这个方法想要扩大交际圈
拜访同类中人(同类中的方法和变量,大家都是同道中人。。)
这时都时拜访的成员都可以用this.来修饰 由于大家都比较熟悉。。。所以不加也一样
但是你家孩子(方法中的变量)和你们村长类哥的儿子(类中成员变量)长得一样(原因你想的到)
这时你不就得区分一下。。。this英文是这的意思,所以你不会说你儿子是这家伙,this.就代表了你所在村长类哥 这就是this的用武之地
回复 使用道具 举报
对当前调用对象的引用
回复 使用道具 举报
对当前调用对象的引用  
回复 使用道具 举报
我love 发表于 2016-5-20 23:44
this代表的当前类的对象,可以是当前类的任何对象,但是当你用哪个对象去调用的时候,this就代表哪个对象, ...

学习了,谢谢大神
回复 使用道具 举报
cuisq 中级黑马 2016-5-21 00:05:15
8#
往前推,肯定有一对象在用.this
回复 使用道具 举报
就是代表对象,对象成员变量和成员方法,你写的this()真心没看懂是什么意思
回复 使用道具 举报
this代表的当前类的对象,可以是当前类的任何对象,但是当你用哪个对象去调用的时候,this就代表哪个对象,因为一个类可以创建n多个对象,你只有创建了具体的对象并调用,这个this就代表你创建的那个对象,比如你创建了一个对象Student s = new Student();,然后你通过new Student()这个对象去调用this修饰过的成员,this就代表创建的这个new Student(),如果你再创建了一个Student s2 = new Student(int x);并通过这个对象进行操作,那个this就代表了这个new Student(int x)这个对象
回复 使用道具 举报
谁来调用我我就代表谁,本类中,也可以调用其它类
回复 使用道具 举报
石头stone 发表于 2016-5-15 10:40
谢谢,不过能不能再具体一点呢?

比如,你创建一个对象,然后用他调用一个方法,这时候this就表示这个对象
回复 使用道具 举报
HeiMaZ 发表于 2016-5-13 22:51
当前对象的引用,谁调用他就代表谁

谢谢,不过能不能再具体一点呢?
回复 使用道具 举报
当前对象的引用,谁调用他就代表谁
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马