一个类中成员变量名与成员方法中的参数名相同时,则在该方法中不能调用成员变量而只能调用该参数,如果要调用该成员变量就可以用this
this主要用法1 明确访问一个类的成员变量
class person{
int age;
public person(int age){
this.age=age;
}
public int getPerson(){
return this.age;
}
}
在上述构造方法中如果使用age则访问局部变量,用this.age则访问成员变量、
this用法2,调用成员方法
class person{
public void test(){
}
public void speak(){
this.test();//此处的this关键字可以省去不写
}
this用法3
构造方法实在实例化一个对象时自动调用的,在程序中不能像调用其他方法一样去调用构造方法,但可以在一个构造方法中使用this(【参数1,参数2,....】)的形式来调用其他的构造方法,
class person{
public person(){
System.out.println(“无参的构造方法被调用”)
}
public person(int a){
this();//调用无参的构造方法
System.out.println(“有参的构造方法被调用”)
}
}
person test=new person(1);
在使用this调用类的构造方法时应注意一下几点
1,只能在构造方法中使用this调用其他的构造方法,不能在成员方法中使用;
2,在构造方法中,使用this调用构造方法的语句必须位于第一行,且只能出现一次;
3,不能在类的两个构造方法中使用this互相调用;
}
}