this关键字:
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
谁调用这个方法,this就代表谁。
public class MainDemo {
public static void main(String[] args) {
Person p1 = new Person();
p1.setName("zhangsan");
System.out.println(p1.getName());//p1调用此方法,this就代表p1
}
}
应用场景:
局部变量隐藏成员变量
public void setName(String name) {
name = name;//前一个变量想代表person类中成员变量,但由于变量是就近原则,所以这行代码有bug
this.name = name; //this.name就代表成员变量
}