我知道this
的作用以及为什么有用-this问题在解释它方面做得很好。但是,在选择的答案中,他们使用this
来分配参数。确实在做
private int aNumber;
public void assignVal(int aNumber){
this.aNumber = aNumber;
}
有什么好处吗?
private int aNumber;
public void assignVal(int aVal){
aNumber = aVal;
}
最佳答案
与this.aNumber
相比,使用aNumber
没有任何性能或其他明显的优势,除了可能明确aNumber
属于哪个对象实例之外。基本上,它取决于偏好。
仅使用aNumber
时,隐含this
前缀。
一个可能的优点是,有必要使用this
的情况是,当您拥有一个方法,该方法的参数传递给该方法的名称与类实例变量的名称完全相同。在这种情况下,必须在类实例变量的前面加上this
来“选择”要访问的正确属性。
例如,如果您有一个声明为的类和方法:
class ThisExample{
private int aNumber;
public void setANumber(int aNumber){
//Here is is necessary to prefix with 'this' to clarify
//access to the class instance property 'aNumber'
this.aNumber = aNumber;
}
}