This变量表示成员对象本身。
public
class point
{
int
x,y;
point(int a,int b)
{
x=a;
y=b;
}
point()
{
}
void output()
{
System.out.println(x);
System.out.println(y);
}
void output(int x,int y)
{
this.x=x;
this.y=y;
}
public
static
void main(String[] args)
{
point pt;
/*pt=new point();
{
pt.output();
}*/
pt=new point(3,3);
{
pt.output(5,5);
pt.output();
}
}
}
当类中有2个同名变量,一个属于类(类的成员变量),而另一个属于某个特定的方法(方法中的局部变量),使用this区分成员变量和局部变量。
使用this简化构造函数的调用。
public
class point
{
int
x,y;
point(int a,int b)
{
x=a;
y=b;
}
point()
{
this(1,1);
}
void output()
{
System.out.println(x);
System.out.println(y);
}
void output(int x,int y)
{
this.x=x;
this.y=y;
}
public
static
void main(String[] args)
{
point pt;
pt=new point();
pt.output();
}
}
我们使用一个不带参数的构造方法来调用带参数的构造方法,在不带参数的构造方法中使用this(1,1);this本身表示pt对象,他调用带参数的成员方法,来给x和y赋值。大大简化了调用方法。
在一个类中所有的实例(对象)调用的成员方法在内存中只有一份拷贝,尽管在内存中可能有多个对象,而数据成员(实例变量,成员变量)在类的每个对象所在的内存中都存在着一份拷贝。This变量允许相同的实例方法为不同的对象工作。每当调用一个实例方法时,this变量将被设置成引用该实例方法的特定的类对象。方法的代码接着会与this所代表的对象的特定数据建立关联。