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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

this引用的概念有点昏啊。呵呵。形象点解释吧。{:soso_e113:}

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 鼓励新同学!!!

查看全部评分

3 个回复

倒序浏览
this其实是一个对象实例自身的引用,
也就是说:通过它在程序中可以访问对象实例自身
比如:this.abc可以访问实例自身的abc属性;
当让在类方法中你可以不使用this;但是建议你使用,
这样当你的临时变量有同名时,可以很清楚的标明引用的是实例属性还是临时变量
比如:
private String name ;
public void setName(String name){
                this.name = name ;
}
this.name表示的是类成员变量,而name是临时变量,
而且this 不能用于静态函数中和静态成员上,
因为this代表的是调用这个函数的对象的引用,而静态方法是属于类的,不属于对象,静态方法成功加载后,对象还不一定存在  。

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 淡定

查看全部评分

回复 使用道具 举报
this指当前对象
为什么要用this呢,因为你在写类时,你需要用到以后这个类所创建的对象,但这个对象还未创建
所以用this代表当前对象。
另外this,也可用于当前构造函数的调用,比如this();就只调用当前类的无参构造!
而当用到内部类时,在内部类this就指当前内部类的对象了
因此:内部类中使用外部类的当前对象时可以用:类名.this.XXX  的方式调用
当然你也可以在本类中这样写,只是有点啰嗦。

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
this是当前对象的一个引用,或者表示是当前对象本身,利用this可使用当前对象的成员属性,成员方法。
this关键字是跟随对象地址的,你new一个对象,就创建一个this。
使用this.来指向当前类的属性和方法,当this单独使用时代表当前对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马