我该如何做到这一点?成员变量和本地方法变量可以具有相同的名称吗?
class Test {
private int var1;
public Test(int var1) {
var1 = var1; //set the member variable to what was passed in
}
}
我确定有一个非常明显的答案。它现在只是逃避我。
我该如何做到这一点?成员变量和本地方法变量可以具有相同的名称吗?
class Test {
private int var1;
public Test(int var1) {
var1 = var1; //set the member variable to what was passed in
}
}
我确定有一个非常明显的答案。它现在只是逃避我。
是的,他们可以共享相同的名称。然而,引用实例变量,你需要使用this
前缀:
public Test(int var1) {
this.var1 = var1;
}
所以“this”通常是可选的?但在这种情况下,我需要它,因为名称冲突?我的理解是否正确? – Greg 2011-01-27 03:00:26
@Greg - 确切地说。 – 2011-01-27 03:00:53
是的,我们能。但只是“可以”。这不好。
是的,你可以,但局部变量将隐藏类变量。
看看一些不错的代码。你会看到这个(`this.x = x`)被setter和构造函数使用。发明一个新名字没有意义。 – maaartinus 2011-01-27 03:38:36