2012-05-23 28 views
4

我想知道:將屬性適配到屬於大型繼承結構的類中的最佳方法是什麼?我想製作一個抽象的靜態方法,每個類都會覆蓋,但是在一個快速的谷歌之後似乎不起作用。有什麼建議麼?在java中替代過度靜態

我可以使它成爲一個實例方法,但它確實是一個類級別的規範。

在此先感謝。

+1

正如您發現的那樣,Java中不存在靜態多態。總體目標是什麼? –

+0

你能詳細解釋一下你想用這種靜態方法做什麼嗎?也許我們可以找到另一種解決方案。 – Tudor

+0

更具體地說:我們正在處理一個布爾值,我需要能夠專門查詢每個類的對象。所以我想我回答了我自己的問題:我應該把它作爲一個實例方法。 –

回答

3

我建議你創建一個抽象方法,就像你想的那樣,並且讓這個方法按照每個類中的靜態變量來實現。

abstract class Base { 
    abstract String getValue(); 
} 

class A extends Base { 

    static String aValue = "From A"; 

    String getValue() { 
     return aValue; 
    } 
} 

class B extends A { 

    static String bValue = "From B"; 

    String getValue() { 
     return bValue; 
    } 
} 

它需要每個類多一點點鍋爐板,不僅僅是一個字段聲明,但我相信這是很難做到的有關的事情。