我知道this
做了什么以及为什么它有用 - this问题做了很好的解释。但是,在所选答案中,他们使用this
来分配参数。做了
private int aNumber;
public void assignVal(int aNumber){
this.aNumber = aNumber;
}
对此有什么优势吗?
private int aNumber;
public void assignVal(int aVal){
aNumber = aVal;
}
答案 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个变量名。它稍微更具可读性,因此您的变量始终是对值的描述。