如果我们已经定义了Person这个类,
如下:
public class Person
{
String name;//我的名字,成员变量name
public void sayhelloto(String name)
{
System.out.println(name+",您好,我是"+name);
}
}
我们本意是要 打印出 (对方名字,您好,我是我的名字)
但现在形参用的是name,于是两个name就混淆了
那么this就是用来区分这两个name的
现在我们new一个对象 Q,他的名字是kk,他要向jj打招呼:
public static void main(String[] args){
Person Q=new Person();//new出来的Person的地址赋给Q
Q.name="kk";
Q.sayhelloto("jj");}
这时候我们改进一下Person类中的name,注意打印处的改变!!
public class Person
{
String name;//我的名字,成员变量name
public void sayhelloto(String name)
{
System.out.println(name+",您好,我是"+this.name);
}
}
通过这样的改变,this.name就表示当前类中的成员变量name了,即kk,
我们也可以这么记,因为是对象Q调用了方法,因此this.name就是对象Q的名字
要注意的是,this是一个地址,即对象Q的地址,是可以打印出来的,即
在Person类当中System.out.println(this);
和在main方法中的System.out.println(Q);
二者输出结果一样!!!!!!!!!!