总是使用“这个”或仅在必要时更清楚吗?

时间:2011-05-10 01:56:24

标签: java

  

可能重复:
  Java - when to use 'this' keyword

有些开发人员喜欢在引用对象的方法和属性时总是使用“this”,即使不需要它也是如此。这是一个非常简单的例子:

public class Foo {

    private String id;

    public Foo() {
        this.id = "123456789";
    }

}

总是使用“this”或仅在必要时才更清楚吗?在任何情况下你都应该经常使用它吗?

3 个答案:

答案 0 :(得分:7)

生成的代码没有区别。因此,使用取决于公司发展指南或个人偏好。

它可以帮助确定什么是成员变量,什么不是,它也有助于使用这个 - >因为ide或编辑器可以做更好的代码完成(取决于编辑器的年龄)。

答案 1 :(得分:2)

这纯粹是个人偏好和风格的问题。一些程序员发现总是使用明确的this辅助可读性,而其他程序员发现它会使代码混乱而不会增加价值。

许多公司编码指南将指定是否应使用this,因此在这种情况下您应该努力遵守指南。如果您正在处理的项目仅供个人使用,那么您是否愿意使用明确的this

回答“在任何情况下您应该始终使用this吗?”您应该在需要时使用它以避免歧义,例如,如果范围中有另一个具有相同名称的变量。特别是,在java中,构造函数参数与类的字段具有相同的名称是很常见的,然后使用this.field = field进行分配。

答案 2 :(得分:2)

我从未在某些地方工作,人们在C ++或Java中使用多余的 this 。如果你保持你的功能简短,不难说出什么是成员变量,什么不是,并且通常无关紧要。对我来说,它属于不重复自己的原则,同样的原因我们有命名空间,所以我们不需要ReallyReallyLongVariableNamesUnlessWeLikeThem。

我猜这是一种来自语言的风格遗留物,它是强制性的,比如perl和python。