我所理解的要两种情况:
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);
}
}
2、this语句 :用于构造函数之间进行互相调用。this语句只能定义在构造函数的第一行。因为初始化要先执行。
class Person
{
private String name;
private int age;
Person(String name)
{
this.name =name;
}
Person(String name,int age)
{
//因为上面已经有this.name =name;所以这里就直接调用上面的,就写成this(name);
this(name);
this.age = age;
}
}
|