2014-05-13 37 views
1

如果我有这样的代码:设置与方法参数同名的实例变量?

public class Foo { 
    public int bar; 

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

Eclipse的警告我说,转让不会做任何事情(原因很明显)。我可以通过将其更改为this.bar = bar;来修复它,还是仅使用不同的变量名称最好?

+2

'this.foo = FOO;'是一组方法或构造一个公认的惯例。 – azurefrog

回答

3

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

1

当你需要做这样的事情时,一个常见的行为是重命名函数参数。

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

如果你不愿意这样做,使用this.前缀,像这样:

this.bar = bar; 
+0

这取决于你发现什么更具可读性。 – azurefrog

+1

@azurefrog当团队决定采用通用编码标准时,通常是团队决策。我已经看到这两种方式。 – dasblinkenlight

+0

谢谢,这是给我们赋予方法签名的赋值,所以使用'this'可能更好,而不是更改它的参数名称。 – wumbo

相关问题