我知道this是做什么的,也知道它为什么有用-- this问题在解释它方面做得很好。然而,在选择的答案中,他们也使用this来分配参数。做
private int aNumber;
public void assignVal(int aNumber){
this.aNumber = aNumber;
}有什么优势吗?
private int aNumber;
public void assignVal(int aVal){
aNumber = aVal;
}发布于 2016-04-23 20:44:55
使用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;
}
}发布于 2016-04-23 20:45:34
这意味着你不需要找出两个变量的名字来引用一件事。它的可读性稍强,因此您的变量总是对值进行描述。
https://stackoverflow.com/questions/36816174
复制相似问题