1.this关键字在什么时候开始存在?
当一个对象创建后,Java虚拟机就会为该对象分配一个引用自身的指针,这个指针的名字就是this。所以this不可在static方法或static块中使用,原因是:因为this是在对象创建的时候才存在。
2.this关键字代表的是什么?
2.1 this在一个对象中,this表示该对象本身。用法如:this(参数列表)表示调用该对象的构造方法。如
public class T1{
private int age;
private String name;
public T1(){}
public T1(String name){
this(1,"quifar"); // 调用两个参数的构造方法
}
public T1(int age,String name){
this.age = age;
this.name = name;
}
}
2.2 当一个对象的成员变量和局部变量名称一样的是,在局部方法里,成员变量将被屏蔽,此时需要通过this来访问局部变量。如
public class T1{
privateint age = 100;
private void add(){
intage = 10;
System.out.print(age);// 输出 10
System.out.print(this.age);//输出 100
age = this.age++;
System.out.print(age);// 输出 ?
System.out.print(this.age);//输出 ?
}
}