建议,你多多看看论坛的,希望能帮到你作者: 天地宽 时间: 2014-3-12 11:37
如何分辨this的指代情况,我觉得要分辨出当前的函数运行环境且this指代的是当前运行环境。举例子来说
class simple{
private String name;//定义一个私有变量
public void setName(String name){//设置name变量的公有函数
this.name=name;//此时this指的是全局环境
}
}
另一个例子
class simple{
private String name;//定义一个私有变量
public void setName(String name){//设置name变量的公有函数
this.name=name;//此时this指的是全局环境
}
//这里我们再重新定义一个类
class another {
private String name;//定义一个私有变量
public void setName(String name){//设置name变量的公有函数
this.name=name;//此时this指的是当前类的环境
}
}
}作者: 天地宽 时间: 2014-3-12 11:38
楼主要是还有不明白的可以具体提问作者: 橸瑩膤漃寞林 时间: 2014-3-12 12:39
我所理解的要两种情况:
1、是用于区分局部变量和成员变量同名情况。this代表它所在函数所属对象的引用。简单说:哪个对象在调用this所在的函数,this就代表哪个对象。
但凡本类功能内部使用了了本类对象,都用this表示。
class Person
{
private int age;
Person(int age)
{
this.age = age;
}
}
class PersonDemo3
{
public static void main(String[] args)
{
//下面的例子中,p1,p2分别调用this时,this分别代表 p1,p2 。
Person p1 = new Person(20);
Person p2 = new Person(25);