我知道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;
    }
}

08-17 18:27