(1)this:代表所在类的对象的引用
方法被哪个对象调用,this就代表那个对象
(2)使用this的情况:
局部变量和成员变量重名。这时候的this.变量名,代表的是所在类的对象的引用。
测试:
class Person{
private String name="Huahudiediedie";//成员变量私有
private int age=19;//成员变量私有
void talk(){
System.out.println(name+ ","+age+",can speak");
}
Person(String name,int age){
name=name;
age=age;
}
}
class PersonDemo{
public static void main(String[] args){
//Person p=new Person();//实例化Person类
Person p=new Person("xigua",21);
p.talk();
}
}
结果:并没有按照预想完成初始化构造。
当修改为this.变量名后就正确了:
class Person{
private String name="Huahudiediedie";//成员变量私有
private int age=19;//成员变量私有
void talk(){
System.out.println(name+ ","+age+",can speak");
}
Person(String name,int age){
this.name=name;
this.age=age;
}
}
class PersonDemo{
public static void main(String[] args){
//Person p=new Person();//实例化Person类
Person p=new Person("xigua",21);
p.talk();
}
}