2个回答
展开全部
this变量代表对象本身
当类中有两个同名变量,一个属于类(类的成员变量),而另一个属于某个特定的方法(方法中的局部变量),使用this区分成员变量和局部变量。
使用this简化构造函数的调用。
一个类所有的实例(对象)调用的成员方法在内存中只有一份拷贝,尽管在内存中可能有多个对象,而数据成员在类的每个对象所在内存中都存在着一份拷贝。this变量允许相同的实例方法为不同的对象工作。每当调用一个实例方法时,this变量将被设置成引用该实例方法的特定的类对象。方法的代码接着会与this所代表的对象的特定数据建立关联。
当类中有两个同名变量,一个属于类(类的成员变量),而另一个属于某个特定的方法(方法中的局部变量),使用this区分成员变量和局部变量。
使用this简化构造函数的调用。
一个类所有的实例(对象)调用的成员方法在内存中只有一份拷贝,尽管在内存中可能有多个对象,而数据成员在类的每个对象所在内存中都存在着一份拷贝。this变量允许相同的实例方法为不同的对象工作。每当调用一个实例方法时,this变量将被设置成引用该实例方法的特定的类对象。方法的代码接着会与this所代表的对象的特定数据建立关联。
展开全部
面向对象编程时候,再类的内部引用当前对象时需要用到,如
class A
{
public:
A(int x){this.x=x;}
private:
int x;
}
当你实例化一个类的时候,A a(5)这个时候,在构造函数中this实际上是&a,也就是对象的地址,而this.x=a.x,所以区别了参数x.
这个是C++的例子,在JAVA和C#中虽然没有指针的概念,但是this是作为当前对象的一个引用出现的,道理是一样的.就是代表当前类的某个对象.
class A
{
public:
A(int x){this.x=x;}
private:
int x;
}
当你实例化一个类的时候,A a(5)这个时候,在构造函数中this实际上是&a,也就是对象的地址,而this.x=a.x,所以区别了参数x.
这个是C++的例子,在JAVA和C#中虽然没有指针的概念,但是this是作为当前对象的一个引用出现的,道理是一样的.就是代表当前类的某个对象.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询