当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量。
如果需要使用本类的成员变量,需要使用格式:
this.成员变量名
通过谁调用的方法,谁就是this
首先我们定义下面一个Person类
package com.wadedt.day06.demo05;
public class Person {
String name;//我自己的名字
//参数name是对方的名字
//成员变量name是自己的名字
public void sayHello(String name){
System.out.println(name + ",你好。我是"+this.name);
}
}
下面我们再写一个类去调用
package com.wadedt.day06.demo05;
public class Demo01Person {
public static void main(String[] args){
Person person = new Person();
person.name = "王健林";
person.sayHello("王思聪");
}
}
输出结果为:王思聪,你好。我是王健林
我们看下Person类的sayHello()这个方法,我们通过this关键字去使用了本类的成员变量name,如果不加this,那么就会根据就近原则,name的值就是局部变量的值为“王思聪”