构造函数中类字段定义的Java约定?

构造函数中类字段定义的Java约定?,java,constructor,coding-style,convention,Java,Constructor,Coding Style,Convention,问题:这两种风格有什么区别?一个比另一个好,为什么 如果我用构造函数的参数定义了字段变量,我通常像C++中这样做: public class Thingamajing{ private int var1, var2; public Thingamajing(int var1_ , int var2_ ){ var1 = var1_; var2 = var2_; } } 但在网上的许多Java示例中,我发现了这种风格: public c

问题:这两种风格有什么区别?一个比另一个好,为什么

如果我用构造函数的参数定义了字段变量,我通常像C++中这样做:

public class Thingamajing{ 
    private int var1, var2;

    public Thingamajing(int var1_ , int var2_ ){
       var1 = var1_; 
       var2 = var2_; 
    }
}
但在网上的许多Java示例中,我发现了这种风格:

public class Thingamajing{ 
    private int var1, var2;

    public Thingamajing(int var1 , int var2 ){
       this.var1 = var1; 
       this.var2 = var2; 
    }
}

基于意见,但带有
这个。
前缀变量可使其立即识别为类字段。第二种样式。遵循约定,以便其他人更容易阅读您的代码。除非你不希望别人阅读你的代码。你必须在C++中这样做,因为在构造函数中使用初始化器语法时,你必须从参数中去掉实际的字段名。Java中没有这个问题,因此没有必要这样做。使用