Java 始终使用“是否更清晰?”;这";还是只有在必要的时候?

Java 始终使用“是否更清晰?”;这";还是只有在必要的时候?,java,Java,可能重复: 有些开发人员在引用对象的方法和属性时喜欢使用“this”,即使不需要它。下面是一个非常简单的例子: public class Foo { private String id; public Foo() { this.id = "123456789"; } } 始终使用“this”或仅在必要时使用“this”更清晰吗?在任何情况下都应该使用它吗?它对生成的代码没有影响。因此,使用取决于公司发展指南或个人偏好 它可以帮助识别哪些是成员变量

可能重复:

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

public class Foo {

    private String id;

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

}

始终使用“this”或仅在必要时使用“this”更清晰吗?在任何情况下都应该使用它吗?

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


它可以帮助识别哪些是成员变量,哪些不是,使用此->也有帮助,因为ide或编辑器可以更好地完成代码(取决于编辑器的年龄)。

这纯粹是个人偏好和风格的问题。一些程序员发现总是使用显式的
this
有助于提高可读性,而另一些程序员则发现它会使代码杂乱无章,而不会增加价值

许多公司编码指南都会规定是否应使用
,因此在这种情况下,您应该努力遵守该指南。如果您正在处理的项目是供个人使用的,那么是否使用explicit
this
取决于您自己的喜好


在回答“是否有任何情况下您应该始终使用此?”时,您应该在需要避免歧义时使用它,例如,如果范围中存在另一个同名变量。特别是,在java中,构造函数参数与类的字段具有相同的名称是非常常见的,然后将这些字段分配给
this.field=field
我猜这是一种风格继承了一些必须使用它的语言,比如perl和python。

Dup of。不是Java,但仍然是主题:这个问题已经被问到了极点。这是特定于语言的(双重含义)。请相应地标记(我猜C++和/或java)