黑马程序员技术交流社区
标题: this关键字应用场合的疑问 [打印本页]
作者: yan5108652 时间: 2013-5-17 14:57
标题: this关键字应用场合的疑问
本帖最后由 yan5108652 于 2013-5-20 23:00 编辑
this关键字在一个类的方法里表示的是当前对象,那么类.this代表的是?
他们的区别在于哪啊?
作者: Jacky_Chen1990 时间: 2013-5-17 15:09
我是来看头像的!正好肚子饿了!!啊啊啊啊
作者: ZhaoYuBetter 时间: 2013-5-17 15:19
你说的是这种情况吧:
public class Outer {
private int size;
public class Inner {
private int size;
public void doStuff(int size) {
size++; // 引用的是doStuff函数的形参
this.size++; // 引用的Inner类的成员变量
Outer.this.size++; // 引用的Outer类中的成员变量
}
}
}
这个表示访问 内部类中外部类的 size 变量
作者: 本人已死 时间: 2013-5-17 15:24
可以这么理解this是省略了当前类的调用:当前类.this.
这样类.this. 的结构就跟上面的一个类型了,但实际貌似就是这么回事
作者: 花开花落总相似 时间: 2013-5-17 15:54
一般在构造方法里面比较常见 还有当你区分不清楚的时候对象的时候
作者: Super_Class 时间: 2013-5-17 16:23
|——内置类中很重要的访问位置:(很重要)
class Outer{
private int num = 3; //访问这里用 Outer.this.num;
class Inner{//这里内置类可以访问外部类的成员(方法和属性)
int num = 4; //访问这里用 this.num; 也可以用Inner.this.num;
void show(){
int num = 5; //访问这里用 num;
System.out.println("show run "+Outer.this.num);
}
}
void method(){
new Inner().show();
}
}
作者: 悟佛修道 时间: 2013-5-17 16:33
点 你就想象成 的 嘛
类.this表示 某个类的this,而this它代表对象,哪个对象去调用 它就指向哪个对象代表哪个对象。
所以类.this 就是某个类的对象的什么什么
this 就是某个对象的什么什么
作者: 潘廖明 时间: 2013-5-17 17:02
9、this关键字
(1)this关键字代表本类对象的一个引用,谁调用this所在的方法,this就代表谁
(2)this的使用场景
A:用于区分同名成员变量和局部变量;
B:在定义函数时,该函数内部要用到调用该函数的对象时,因为此时对象还没建立,故this代表此对象
B:构造函数间调用:这个时候,this(参数)必须作为第一条语句存在。
作者: Sword 时间: 2013-5-17 17:14
this的几点总结;
1. this是用于区分局部变量和成员变量同名情况。
2. this 代表它所在函数所属对象的引用。哪个对象在调用this所在的函数 ,this 就代表哪个对象。
3. this 的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。
4. this语句用于构造函数之间进行互相调用。
5. this语句只能定义在构造函数的第一行。
总而言之,this是指当前对象,哪个对象在调那个方法,this就代表那个对象。
作者: yan5108652 时间: 2013-5-20 22:59
ZhaoYuBetter 发表于 2013-5-17 15:19
你说的是这种情况吧:
public class Outer { private int size; public class Inner { ...
谢谢你。已经理解了,就是你说的这种情况,thank you !
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |