package cn.dali.code03;
/*目的:
* 输出格式:XXX是哥哥,XXX是弟弟
*
* 当成员变量与局部变量重复的时候,方法内使用变量遵循就近原则,所以方法内的name为弟弟
* 区分的方法就是使用this关键字
* 对于方法内部的this来说,谁调用该方法谁就是this,该程序中创建的对象brother调用了who方法,
* 所以brother就是this,所以this.name就是brother.name,也就是brother01类中的成员变量
* 我们可以通过打印地址来验证*/
public class brother01 {
String name;//该name为哥哥
public void who(String name){//该name为弟弟
System.out.println(this.name+"是哥哥,"+name+"是弟弟");
System.out.println("this的地址"+this);
}
}
package cn.dali.code03;
public class brother02 {
public static void main(String[] args) {
brother01 brother = new brother01();
brother.name = "小A";//小A是哥哥
brother.who("小B");//小B是弟弟
System.out.println("brother的地址"+brother);
System.out.println("===============");//若不使用this,输出结果:小B是哥哥,小B是弟弟
} //使用this,输出结果:小A是哥哥,小B是弟弟
/*地址输出结果如下:
this的地址cn.dali.code03.brother01@2acf57e3
brother的地址cn.dali.code03.brother01@2acf57e3*/
}