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

时间:2014-05-13 01:52:27

标签: java

如果我有这样的代码:

public class Foo {
    public int bar;

    public void setBar(int bar) {
        bar = bar;
    }
}
Eclipse警告我,作业没有做任何事情(原因很明显)。我可以通过将其更改为this.bar = bar;来修复它,还是最好只使用不同的变量名称?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

当你需要做类似的事情时,一个常见的做法是重命名函数参数。

public void setBar(int theBar) {
    bar = theBar;
}

如果您不想这样做,请使用this.前缀,如下所示:

this.bar = bar;