我是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