5

this.var 的唯一目的是与可能冲突的外部变量名区分开来吗?

4

4 回答 4

5

通常,这种机会发生在您进行阴影处理时。这是一个阴影的例子。

public class YourClass
{

       private int var;

}

碰巧你有这个方法:

public void yourMethod(int var)
{

       this.var = var; // Shadowing

}

'this.var' 恰好是您的实例变量,并在您的类下面声明。另一方面,在我的示例中, var 是一个参数。

于 2012-12-06T04:00:43.617 回答
3

使用this显式指示实例var,而不是同名的构造函数/方法变量或参数。

于 2012-12-06T03:47:40.973 回答
2

一个用例是:

如果您的方法/构造函数参数也命名为 asvar并且您想访问该方法中的实例变量,那么您可能需要明确告诉this.var使用实例变量。

于 2012-12-06T03:47:26.493 回答
1

有时,当您编写构造函数时,作为参数传递的变量的名称可能与您在方法中声明的实例变量具有相同的名称。所以 this.var 指的是实际的实例变量。

于 2012-12-06T03:48:27.047 回答