黑马程序员技术交流社区

标题: 请大侠指点下this的用法?具体形象点,我有时就是记不住。 [打印本页]

作者: kj1989    时间: 2013-12-16 23:40
标题: 请大侠指点下this的用法?具体形象点,我有时就是记不住。
this引用的概念有点昏啊。呵呵。形象点解释吧。{:soso_e113:}

作者: 一年之后    时间: 2013-12-17 00:08
this其实是一个对象实例自身的引用,
也就是说:通过它在程序中可以访问对象实例自身
比如:this.abc可以访问实例自身的abc属性;
当让在类方法中你可以不使用this;但是建议你使用,
这样当你的临时变量有同名时,可以很清楚的标明引用的是实例属性还是临时变量
比如:
private String name ;
public void setName(String name){
                this.name = name ;
}
this.name表示的是类成员变量,而name是临时变量,
而且this 不能用于静态函数中和静态成员上,
因为this代表的是调用这个函数的对象的引用,而静态方法是属于类的,不属于对象,静态方法成功加载后,对象还不一定存在  。
作者: 张鹏    时间: 2013-12-17 00:11
this指当前对象
为什么要用this呢,因为你在写类时,你需要用到以后这个类所创建的对象,但这个对象还未创建
所以用this代表当前对象。
另外this,也可用于当前构造函数的调用,比如this();就只调用当前类的无参构造!
而当用到内部类时,在内部类this就指当前内部类的对象了
因此:内部类中使用外部类的当前对象时可以用:类名.this.XXX  的方式调用
当然你也可以在本类中这样写,只是有点啰嗦。
作者: 闭眼就天黑    时间: 2013-12-17 23:06
this是当前对象的一个引用,或者表示是当前对象本身,利用this可使用当前对象的成员属性,成员方法。
this关键字是跟随对象地址的,你new一个对象,就创建一个this。
使用this.来指向当前类的属性和方法,当this单独使用时代表当前对象




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