当方法的局部变量和类的成员变量重命名的时候,根据:"就近原则" ,优先使用就局部变量。
如果需要访问本类当中的成员变量,需要使用格式:
this.成员变量名
即此时看到this就是看到成员变量。
先建了一个Person类 ,通过DemoPerson里的main方法调用Person类内容。
package 关键字;
/**
* @Author: Jason
* @Date: 2019/6/2 14:31
* @Version 1.0
*/
public class Person {
String name;
public void sayHello(String who) {
System.out.println("你好!" + who + "! 我是" + name);
}
}
package 关键字;
/**
* @Author: Jason
* @Date: 2019/6/2 14:34
* @Version 1.0
*/
public class DemoPerson {
public static void main(String[] args) {
Person person = new Person();
person.name="爸爸";
person.sayHello("宝宝");
}
}
当方法的局部变量和类的成员变量重命名的时候,根据:"就近原则" ,优先使用就局部变量。
如果需要访问本类当中的成员变量,需要使用格式:
this.成员变量名
“通过谁调用的方法,谁就是 this 。”
package 关键字;
/**
* @Author: Jason
* @Date: 2019/6/2 14:37
* @Version 1.0
*/
public class Person01 {
String name; //自己的名字
//成员变量名name是自己的名字
//参数变量name是对方的名字 String name
public void sayHello(String name) {
System.out.println("你好!" + name + "! 我是" + this.name);
//通过变量对应的颜色也可以看出来
System.out.println(this);
}
}
package 关键字;
/**
* @Author: Jason
* @Date: 2019/6/2 14:41
* @Version 1.0
*/
public class DemoPerson01 {
public static void main(String[] args) {
Person01 person01 = new Person01();
person01.name = "美国队长"; //自己
person01.sayHello("浩克");//对方
System.out.println(person01);
}
}
最后:
其中的@后的为地址值,说明“通过谁调用的方法,谁就是 this 。”