2011-05-10 14 views
4

可能重複:
Java - when to use 'this' keyword總是使用「this」還是僅在必要時更清楚?

喜歡總是有些開發人員使用「本」並不需要它,即使引用對象的方法和屬性,當。這裏是一個非常簡單的例子:

public class Foo { 

private String id; 

public Foo() { 
    this.id = "123456789"; 
} 

}

是更清晰始終使用「這個」或只有當它是必要的嗎?您是否有任何情況需要使用它?

+0

Dup of http://stackoverflow.com/questions/2429062/。不是Java,但仍然是主題:http://stackoverflow.com/questions/2841807/http://stackoverflow.com/questions/993352/這個問題已被要求死亡。 – 2011-05-10 02:09:41

+0

這是語言特定的(雙重含義)。請相應標記(我猜C++和/或Java) – Javier 2011-05-10 02:09:44

回答

5

它在生成的代碼中沒有區別。因此,使用取決於公司發展指南或個人偏好。

它可以幫助識別什麼是成員變量,哪些不是,它也有助於使用this->,因爲ide或編輯器可以做更好的代碼完成(取決於編輯器的年齡)。

2

這純粹是個人喜好和風格的問題。一些程序員發現,總是使用明確的this艾滋病可讀性,而其他人發現它混亂的代碼沒有增加價值。

許多公司編碼準則將指定是否應該使用this,所以您應該努力遵守這種情況下的準則。如果您正在進行的項目是供個人使用的,那麼您真的願意使用或不使用明確的this

回答「是否有任何情況下您應該始終使用this?」當需要避免歧義時,您應該使用它,例如,如果在範圍內有另一個具有相同名稱的變量。特別是,在構造函數參數中,在java中非常常見的是與類的字段具有相同的名稱,然後將其分配爲this.field = field

1

我從來沒有在人們用C++或Java使用多餘的這個的地方工作過。如果你保持你的功能簡短,不難分清什麼是成員變量,哪些不是,反正也不重要。對我來說,它屬於不重複自己的原則,同樣的原因,我們有命名空間,所以我們不需要ReallyReallyLongVariableNamesUnlessWeLikeThem。

我猜測這是一種強制性的語言風格,如perl和python。

相關問題