日期:2014-05-20  浏览次数:20750 次

this代表什么?
package com.test;

public class Test1{
public Test1(){
this(12);
}

public Test1(String str){

}
public Test1(int i){

}
}
我就是想问一下,构造方法里面引用了另一个构造方法用this,那么请问这个指当前对象的this是指什么呢?是不是指当前的线程呢?

------解决方案--------------------
你说的这个this指的是当前对象,不是指线程
其实你这个例子是在构造方法里面调用其他的构造方法
this(12) 的意思是 带哦用public Test1(int i){}这个构造方法
------解决方案--------------------
this如果简单的想,那么就是当前类或者对象的一个别名,但是只在当前有用,也就是说,在类中,那么this就代表这个类本身,如果牵涉到需要把某个对象注册给监听者,那么就是是对象本身,你在事件响应的时候就会遇到的,OK
------解决方案--------------------
回复17#楼:
this的使用方法
a.用在构造函数中区别和成员变量中同名的局部变量;
b.用在构造函数中的调用【this(name)】,并且务必使用在构造函数的第一行。
注意:其中a种情况使用很频繁,而第二种情况使用较少,至于第二种情况为何构造函数间可以用this调用,我理解是一种规定的用法。至于底层原理,也不是很清楚。