举个例子来说明:
this这个关键字:主要用来区分成员变量和局部变量重名,代表当前对象的应用,在类中为方法和字段的带来极大的方便
class Person {
private String name;//姓名
private int age;//年龄
public Person(){
}
public Person(String name,int age){
this.name=name;
this.age=age;
}
public void setAge(int age) { //设置年龄
this.age = age;
//this代表当前对象的引用,而成员变量必须有对象调用,谁来调用setAge()方法this就代表谁
}
public int getAge() { //获取年龄
return age;
}
public void setName(String name) {//设置姓名
this.name = name;
}
public String getName(){
return name;
}
}
类如在上面声明的那个类中带有参数的构造方法,如果不使用this关键字需要这样来写:
public Person(String pname,int page){
name=pname;
age=page;
}
括号内的pname与page为局部变量,而name与age为成员变量,二者在构造方法中需要相符赋值,故变量名不能重名,因此,在类中为为成员变量赋值每次要做的事情就是为局部变量取名字,而且还要易于区分,有没有感觉到很麻烦
this就是来解决这个麻烦的,
this.name=name;
左边this.name指代类中成员变量的name
右边name指代方法中局部变量中的name
这样既完成了对成员变量的赋值,也省去了为局部变量取名字的麻烦 |