this指针
参考:http://www.cnblogs.com/-cyb/articles/Java-this.html
作用1:当成员函数中局部变量a与成员变量a命名相同时,在成员函数中用this.a代表的是成员变量。
作用2:在类中调用成员函数时,用this,例如
class test{
void work(){}
void name(){
this.work();
}
}
作用3:在构造方法中调用另一个构造方法。
class test{
private int a;
//构造函数必须与类同名
test(){
this(3);//调用一个参数的构造函数,并且必须放在第一行,所以构造函数内只有一个this
//this(3,4);//因为有了上面的this,不能再有这句了
}
test(int a){//构造函数可以有多个,但必须有不同的地方,和重载类似
this.a=a;
}
test(int a,int b){//又是另一个构造函数
a=b;
this.a=a;
}
作用4:特殊的一种用法return this。返回当前的对象的引用
//定义一个类
class test{
test setname(){
system.out.println(1);
return this;//返回当前对象的引用
}
}
//main函数
public class main {
public static void main(String[] args) {
test s1 = new test();//这里创建的对象,也就是当前对象
test a=s1.work();//这样a也指向s1这个对象了。
system.out.println(s1==a);//结果是true
//其实这种return的正确用法是:
s1.work().work().work();
//正因为返回的是对象的引用,所以就像一个对象一样,可以继续.
//在Stringbuilder中,s2.append("").append("");正是这种用法
}
}