2014-01-15 129 views
-2

一個靜態方法Func()在類中定義。在this.Func中調用它沒有編譯錯誤。另外,對一個對象調用靜態方法也沒有任何缺點。並且調用方法很簡單,因爲類名可能難以拼寫。不知道,這是一個很好的java編碼方式。使用此方法調用靜態方法。方法vs類名。方法

+2

可能重複所以你要使用'this.Func()'只是因爲你不必拼類名稱?大。那麼你如何從課外從外部調用這個方法呢? –

+2

當然,使用'this.Func()'並不比'Func()'更容易輸入。 –

+0

http://stackoverflow.com/questions/12174573/java-convention-on-reference-to-methods-and-variables – JustinKSU

回答

3

如果你正在調用一個靜態方法,你不應該使用一個實例,儘管它編譯是因爲它很容易混淆。考慮以下。

Thread t = new Thread(...); 
t.start(); 
t.sleep(1000); 

,因爲它是靜態的最後一個方法並不線程t上運行。它導致當前線程進入休眠狀態。

Thread t = null; 
t.yield(); // compiles and runs even thought `t` is null. 
0

這是更好地使用這個與類名來保持可讀性,因爲如果有人想在你的代碼進行調試,所以他也沒有回去看看你的變量聲明,它被標記爲靜態或不,所以最好是使用類名稱使用,因此沒有必要回去想想

雅它是stackoverflow.com/questions/7884004/… –

+0

@SecureFish對你我的朋友是有意義的 – Tenacious