使用“this.field = value”vs“field = value”

时间:2016-04-23 20:43:20

标签: java

我知道this做了什么以及为什么它有用 - this问题做了很好的解释。但是,在所选答案中,他们使用this来分配参数。做了

private int aNumber;

public void assignVal(int aNumber){
    this.aNumber = aNumber;
}

对此有什么优势吗?

private int aNumber;

public void assignVal(int aVal){
    aNumber = aVal;
}

2 个答案:

答案 0 :(得分:1)

使用SELECT e.EMP_LNAME, a.PROJECT_NUM, a.ASSIGN_JOB FROM ASSIGNMENT a,EMPLOYEE e WHERE a.EMP_ID = e.EMP_ID 与仅SELECT e.EMP_LNAME, a.PROJECT_NUM, a.ASSIGN_JOB FROM ASSIGNMENT a INNER JOIN EMPLOYEE e ON a.EMP_ID = e.EMP_ID 之间没有任何性能或其他明显优势,除了可能明确this.aNumber所属的对象实例。基本上它归结为偏好。

仅使用aNumber时,隐含aNumber前缀。

一个可能的优点和使用aNumber变得必要的情况是,当您有一个方法将参数传递给与类实例变量具有完全相同名称的方法时。在这种情况下,有必要在类实例变量前加this前缀,以选择'正确的财产访问。

例如,如果您将类和方法声明为:

this

答案 1 :(得分:0)

这意味着你不必弄清楚引用一件事的2个变量名。它稍微更具可读性,因此您的变量始终是对值的描述。