This
的作用:
当实例变量和局部变量重名,JAVA 平台会按照先局部变量、后实例变量的顺序寻找。因此在引用方法或构造器中,局部变量会覆盖实列变量;
例:
class Demo{
int a = 5;//此a为全局变量;
void test(int a){//此a为局部变量;
a=a;
System.out.println(a);
}
}
public class This{
public static void main(String args[]){
Demo demo = new Demo();
demo.test(1);
}
}
输出为:
1
可以看到在引用的test()
方法中a是局部变量的a。这时我们要引用全局变量的a该怎么做? This
给了我们很好的解决办法。
class Demo{
int a = 5;//此a为全局变量;
void test(int a){//此a为局部变量;
a=this.a;
System.out.println(this.a);
}
}
public class This{
public static void main(String args[]){
Demo demo = new Demo();
demo.test(1);
}
}
输出:
5
注意事项:
1.this() 不能使用在普通方法中 只能写在构造方法中
2.必须是构造方法中的第一条语句