1
如果我們可以確定實例是單例,那麼靜態方法總是可以轉換爲實例方法?是對的嗎?一個靜態方法總是可以轉換爲一個實例方法嗎?
如果我們可以確定實例是單例,那麼靜態方法總是可以轉換爲實例方法?是對的嗎?一個靜態方法總是可以轉換爲一個實例方法嗎?
當然,標記爲static
的方法可以轉換爲實例方法。標記爲static
的方法必須是不使用特定於實例的任何狀態信息的方法(除非實例作爲參數傳入)。它們可以作爲實例方法重寫,並且不依賴特定於實例的狀態信息(或者使用this
代替)。
您當然可以這樣做,但您可能會破壞調用靜態方法的現有代碼。特別是如果該方法是公開可見的。
使用靜態vs實例方法是一個設計問題,爲什麼要將靜態方法轉換爲實例方法,如果有理由使其成爲靜態方法? – Matten 2011-01-20 15:43:51
如果這個實例是一個單例,爲什麼你打擾?靜態類(和靜態方法)實際上是單例模式的實現。 – Massif 2011-01-20 15:52:10