如果我有这样的代码:设置与方法参数同名的实例变量?
public class Foo {
public int bar;
public void setBar(int bar) {
bar = bar;
}
}
Eclipse的警告我说,转让不会做任何事情(原因很明显)。我可以通过将其更改为this.bar = bar;
来修复它,还是仅使用不同的变量名称最好?
如果我有这样的代码:设置与方法参数同名的实例变量?
public class Foo {
public int bar;
public void setBar(int bar) {
bar = bar;
}
}
Eclipse的警告我说,转让不会做任何事情(原因很明显)。我可以通过将其更改为this.bar = bar;
来修复它,还是仅使用不同的变量名称最好?
使用this.bar = bar;
就好了。大多数制作者都是这样编码的。
当你需要做这样的事情时,一个常见的行为是重命名函数参数。
public void setBar(int theBar) {
bar = theBar;
}
如果你不愿意这样做,使用this.
前缀,像这样:
this.bar = bar;
这取决于你发现什么更具可读性。 – azurefrog
@azurefrog当团队决定采用通用编码标准时,通常是团队决策。我已经看到这两种方式。 – dasblinkenlight
谢谢,这是给我们赋予方法签名的赋值,所以使用'this'可能更好,而不是更改它的参数名称。 – wumbo
'this.foo = FOO;'是一组方法或构造一个公认的惯例。 – azurefrog