2016-05-17 84 views
-3

使用靜態方法不會利用OOP,因此方法被重寫而不是隱藏。在Java中存在隱藏靜態方法。難道只有在某些沒有希望的情況下才能提供幫助嗎?
隱藏靜態方法vs覆蓋非靜態方法的後果是什麼?是否有任何情況下,隱藏應該優於重寫(直到使方法變爲靜態,這通常是由其他優點決定的)?隱藏靜態方法vs覆蓋非靜態方法

+2

你能解釋一下你的問題的名稱的靜態方法?你有沒有一個例子?隱藏一個靜態方法並覆蓋一個非靜態方法是兩個非常不同的東西,所以你期望什麼類型的比較? –

+2

我認爲你對這件事情走錯了路。您應該首先決定是選擇靜態還是實例方法,而不是決定是否喜歡隱藏或覆蓋。一旦做出這個決定,其餘選擇就會變得非常明顯。 – Paul

回答

2

Java是一種面向對象的編程語言這樣,你應該總是從一個純粹的程序方法更喜歡一個面向對象的方法,換句話說,你應該總是喜歡到覆蓋方法,而不是隱藏的靜態方法。我甚至可以說,隱藏靜態方法是一種可怕的方式,因爲它是非常容易出錯,你應該送花兒給人前綴調用將相應的類