在Java语言中规定使用this关键字来代表本类对象的引用,this关键字被隐式的用于引用对象的成员变量和成员方法.事实上this引用的就是本类的一个对象,在局部变量或方法参数覆盖了成员变量时,使用this关键字明确使用的是类成员还是局部变量,此外this除了调用成员变量和成员方法之外,还可以作为方法返回值返回的是本类的一个对象(可以是无参的,也可以是有参的,具体看this后面是否含有参数);this可以理解为指向本类对象的一个指引.具体的把this分成三种作用:
1. 普通的直接引用
public class Test {
public int a = 1;
public static void main(String[] args) {
Test test = new Test();
test.test2();
}
public static void test1(){
int a = 0;
int b = 2;
System.out.println(a+b);
}
public void test2(){
this.test1();
System.out.println("this关键字不能在静态方法中使用"+this.a);
}
}
2.局部变量或形参覆盖成员变量,使用this区别
public int a = 1;
public static void main(String[] args) {
Test test = new Test();
test.test1();
}
public void test1(){
int a = 0;
int b = 2;
System.out.println(a+b);
System.out.println(this.a+b);
}
通过运算结果我们知道,当方法中形参或局部变量覆盖成员变量,this这时可以引用成员变量
3.引用构造函数
this作为
this关键字要注意的几点: