我該如何做到這一點?成員變量和本地方法變量可以具有相同的名稱嗎?
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