所以我覺得我的設計弄得很少, 這就是我得到的。使用反射類方法
我的應用程序需要很多枚舉,每個枚舉包含多個初始化對象和一個「Get Best」方法。
所有枚舉的具有相同getBest,所有應有的場次數, 由於枚舉不能擴展,思想也許界面或許可以幫忙,但如果枚舉實現一個接口,然後每它的情況下只實現不枚舉它。
public abstract class Best {
public abstract Enum<?> getBest(int num);
}
class MyNumberClass extends Best {
public abstract Enum<?> getBest(int num){return MyNumberEnum.getBest(num)}
}
所以我想也許創建一個類和裏面把枚舉,然後我可以擴展獲取最佳方法。
所以爲了方便使用,我創建了一個HashMap ,然後加入map.put(「編號」,MyNumberClass.class)
但後來我到了一個點,我得到了Class對象, 我怎樣才能使用它的getBest方法?
感謝和抱歉我的愚蠢!
你的意思是你得到了類實例或類型? – nullpointer
@nullpointer 我用 map.put( 「編號」,MyNumberClass.class) 所以我得到MyNumberClass.class我認爲這是 類類型編輯: HashMap中decleration的HashMap <字符串,類<?擴展最佳>> –
這應該會幫助你去https://docs.oracle.com/javase/tutorial/reflect/member/methodInvocation.html...try某些東西,如果它不起作用就回來。 – nullpointer