2011-01-20 95 views
1

如果我們可以確定實例是單例,那麼靜態方法總是可以轉換爲實例方法?是對的嗎?一個靜態方法總是可以轉換爲一個實例方法嗎?

+2

使用靜態vs實例方法是一個設計問題,爲什麼要將靜態方法轉換爲實例方法,如果有理由使其成爲靜態方法? – Matten 2011-01-20 15:43:51

+0

如果這個實例是一個單例,爲什麼你打擾?靜態類(和靜態方法)實際上是單例模式的實現。 – Massif 2011-01-20 15:52:10

回答

3

當然,標記爲static的方法可以轉換爲實例方法。標記爲static的方法必須是不使用特定於實例的任何狀態信息的方法(除非實例作爲參數傳入)。它們可以作爲實例方法重寫,並且不依賴特定於實例的狀態信息(或者使用this代替)。

0

您當然可以這樣做,但您可能會破壞調用靜態方法的現有代碼。特別是如果該方法是公開可見的。

相關問題