this变量代表对象本身
class Point
{
Point(int a, int b)
{
x =a;
y=b;
}
int x;
int y;
void set(int x, int y)
{
x=x;
y=y;
}
}
mian 函数中
Point p1 = new Point(2,3);
p1.set(4,5);
打印x,y;结果为2,3
因为
void set(int x, int y)
{
x=x;
y=y;
}
为给形参赋值的;可以改为
void set(int a, int b)
{
x=a;
y=b;
}
或者改为
void set(int x, int y)
{
this,x=x;
this.y=y;
}
一个类所有的实例(对象)调用的成员方法在内存中只有一份拷贝,尽管在内存中可能有多个对象,而数据成员在类的每个对象所在内存中都存在着一份拷贝。this变量允许相同的实例方法为不同的对象工作。每当调用一个实例方法时,this变量将被设置成引用该实例方法的特定的类对象。方法的代码接着会与this所代表的对象的特定数据建立关联。