我是java編程中的新手,並試圖學習它。 我遇到了無法找到在網絡它可以解決的問題:內聯實例化類作爲Enum中的參數
我有一個枚舉,這是一個行動「清單」和他們每個人都有型操作的屬性 是conains列表可能的子活動。子區是常量字符串。
我想instanziate操作的anonymus實例在枚舉構造函數,以便 除了非標準子操作,每個枚舉可以有它的輔助作用
我試着寫像下面
枚舉public enum Action {
ACTION1("One", new Actions(){
public static final String TEST = "test";
}),
ACTION2("TWO", null),
ACTION3("THREE,null);
private final String act;
public final Actions actions;
private Action(String act, Actions actions) {
this.act = act;
this.actions = actions;
}
}
,這是操作類
public class Actions {
public static final String SUBACTION_TEST1 = "suoOne";
public static final String SUBACTION_TEST2 = "subTwo";
}
不是,這是我如何使用操作枚舉:
String as = Action.ACTION1.params.SUBACTION_TEST1;
,併到這裏就wors但I'cannot這樣寫:
String ast = Action.ACTION1.params.TEST;
我知道,也許這種做法是錯誤的,但改變之前,我想執行 知道爲什麼沒有按沒有工作。
謝謝。
我想你意思是「行動」而不是「參數」。 'actions'有一個'Actions'類型,它沒有字段TEST。如果它有一個名字,你可以投到「Actions」的子類,但它不是 – 2012-03-31 13:49:46
,所以我的目標是希望使用這個代碼? – 2012-03-31 14:01:34
我認爲它值得回顧一下你想做什麼,看看它是否能以另一種方式完成。 – 2012-03-31 14:07:24