2011-09-25 129 views
1

我知道這對許多人來說可能是一個愚蠢的問題,但我通常喜歡堅持正確/更好的實施。在Java中,編寫getter/setter時,最好是使用this來引用實例變量還是直接訪問它?關於吸氣劑和吸氣劑的問題

感謝

+0

「局部變量」!=「實例變量」。僅供參考。 – cHao

回答

3

它並不真正的,只要你引用了正確的變量問題。

然而,這是一個常見的做法是指與this當地的字段,以便您不要將其與局部變量混合起來:

public void setField(int field)[ 
    this.field = field; 
} 
5

當寫你通常被迫指爲了實例變量和參數之間的區分使用this實例變量局部變量)二傳手;例如

public void setFoo(int foo) { 
    this.foo = foo; 
} 

然而,寫一個getter方法時,通常沒有必要與這樣的前綴實例變量:

public int getFoo() { 
    return foo; 
} 
1

,僅僅是味道的問題,雖然它有一些特殊的用例。

子類this關鍵字可以用於程序和變量強調的是它們實際上屬於超類(或該類),而不是例如,靜態導入。

它也常用於消歧來自局部變量的參數。例如,

private Foo foo; 
public void setFoo(Foo foo) { 
    this.foo = foo; 
} 
0

指定this趨於緩解你可能會遇到後來的任何變量的作用域問題。

雖然沒有必要。