this 关键字
当局部变量和成员变量重名的时候,方法当中会根据“就近原则”使用
如果想区分,就需要使用 this.成员变量名
this关键字的金典作用就是将重名的成员变量和局部变量区分开
通过谁调用的方法,谁就是this,this代表的就是“当前对象”
例子
package test4;
/**
* this
* @author hengyuzuo
*
*/
public class person {
//成员变量
String name;
//成员方法
public void sayhello(String who) {
// TODO Auto-generated method stub
System.out.println("你好" + who + "我是" + name);
}
}
调用
package test4;
/**
*
* @author hengyuzuo
*
*/
public class person2 {
public static void main(String[] args) {
person pe = new person();
pe.name = "小王";
pe.sayhello("大王");
}
}
who是对方的名字,name是自己的名字,如果将who也改成name,那么成员变量name和局部变量who重名了
package test4;
/**
* this
* @author hengyuzuo
*
*/
public class person {
//成员变量
String name;
//成员方法
public void sayhello(String name) {
// TODO Auto-generated method stub
System.out.println("你好" + name + "我是" + name);
}
}
此时结果你好大王我是大王
只需要在成员变量名前加 this 就可以了