2010-01-13 42 views

回答

5

在大多數情況下,您可以使用任何你想要的。如果您的方法參數或局部變量具有相同的名稱,那麼您需要使用this來區分實例變量。始終如一!

+1

或者一個局部變量(不太常見)。如果你有一個本地班,那麼這是一團糟。 – 2010-01-13 04:04:47

4

你也可以做,這只是一個口味問題,但我看到很多Java代碼使用「this」。因爲該方法的參數很多時候與成員字段的名稱相同。

你可能會說使用「this」。也有助於可讀性,因爲你立即知道它是一個成員,但你也可以爭辯說「這個」。傷害可讀性,因爲它只是一個無關的詞。

+0

但因爲如果你的參數是相同的單詞,你必須使用這個,那麼可能最好是爲了約定而堅持它:) – ajsie 2010-01-13 04:03:22

+0

@noname - 如果你的參數名和實例名是相同的,那麼你應該爲變量選擇更好的名稱。這有助於可讀性遠遠超過「這個」。 – Robin 2010-01-13 14:59:53

2

我只在兩種情況下使用this.

  1. 去外地 和本地的同名間的歧義,在一個setter 例子;
  2. 當我的方法有that 參數,因爲thisthat 使良好的可讀代碼。
+0

哦,即時通訊新的Java,還沒有達到「那」。很高興事先知道我在書中會遇到什麼:) – ajsie 2010-01-13 04:02:14

+1

你可能不會在書中找到它 - 這只是一個很好的參數名稱,用於處理同一類的另一個對象。比如說,一個Point類可能有distanceTo(Point that)方法。然後減去「this.x - that.x」聽起來比「x - that.x」更好聽。 – 2010-01-13 04:08:26

+0

@Carl - 'dest'或'destination'不是更好的名字嗎? – Robin 2010-01-13 15:02:22

0

只是變量名稱是好的&使用參數變量使用「this」。

1

使用this. - 它可以幫助其他程序員直觀地識別成員字段的用法,並使重構更容易(例如,當考慮將方法移動到另一個類時)。

0

我是用語言編程時使用語言功能的粉絲。因此,我會建議不要使用「this」。在一個實例變量上,除非需要將它與在相同名稱上衝突的方法參數區分開來。