this:(本质是创建好的对象的地址)在构造方法调用前对象已经创建,所以也可以在构造方法中使用this
- 在程序产生二义性之处,应使用this来指明当前对象;普通方法中this指向调用该方法的对象;构造方法中this指向正要初始化的对象
- 使用this关键字调用重载的构造方法,避免相同的初始化代码(也就是调用第一个构造方法,减少代码量)。但只能在构造方法中用,并且必须位于构造方法的第一句。
- this不能用于static方法中 ,因为static方法位于堆的方法区,不能根据对象地址找到。
public class Person {
int a;
int age;
String name;
Person(int age,String name){
this.age = age;//对应第一条
this.name = name;
}
Person(int a,int age,String name){
this(age,name);//对应第二条
this.a = a;
}
public static void main(String[] args) {
//对应第三条(不能使用this,否则编译错误)
//this.
}
}