Java 是否设置与方法参数同名的实例变量?

Java 是否设置与方法参数同名的实例变量?,java,Java,如果我有这样的代码: public class Foo { public int bar; public void setBar(int bar) { bar = bar; } } this.bar = bar; Eclipse警告我该任务没有做任何事情(出于明显的原因)。我可以通过将其更改为this.bar=bar来修复它吗还是最好使用不同的变量名?使用this.bar=bar很好。大多数设置器都是这样编码的。使用this.bar=bar很好。大多

如果我有这样的代码:

public class Foo {
    public int bar;

    public void setBar(int bar) {
        bar = bar;
    }
}
this.bar = bar;

Eclipse警告我该任务没有做任何事情(出于明显的原因)。我可以通过将其更改为
this.bar=bar来修复它吗
还是最好使用不同的变量名?

使用
this.bar=bar很好。大多数设置器都是这样编码的。

使用
this.bar=bar很好。大多数setter都是这样编码的。

当您需要这样做时,一个常见的做法是重命名函数参数

public void setBar(int theBar) {
    bar = theBar;
}
如果您不想这样做,请使用
this.
前缀,如下所示:

public class Foo {
    public int bar;

    public void setBar(int bar) {
        bar = bar;
    }
}
this.bar = bar;

当您需要执行类似操作时,一个常见的操作过程是重命名函数参数

public void setBar(int theBar) {
    bar = theBar;
}
如果您不想这样做,请使用
this.
前缀,如下所示:

public class Foo {
    public int bar;

    public void setBar(int bar) {
        bar = bar;
    }
}
this.bar = bar;

this.foo=foo
是集合方法或构造函数中可接受的约定。
this.foo=foo
是集合方法或构造函数中公认的约定。@azurefrog当团队决定通用编码标准时,这通常是团队的决定。我已经看到了这两种方法。谢谢,这是为了分配给我们方法签名的任务,所以我最好使用
这个
,而不是更改它的参数名。@LionKing34参数名不是方法签名的一部分,所以你可以自由更改它们。@dasblinkenlight True,我的意思是,我们得到的Javadoc文件确实有参数名称。@azurefrog通常是团队决定的,当团队决定通用编码标准时。我已经看到了这两种方法。谢谢,这是为了分配给我们方法签名的任务,所以我最好使用
这个
,而不是更改它的参数名。@LionKing34参数名不是方法签名的一部分,所以你可以自由更改它们。@dasblinkenlight True,我的意思是我们得到了Javadoc文件,它有参数名。