班级Action
:
public class Action {
public static enum Type {
POSITION, MOUSE, KEY, TEXT
}
public final Type type;
public Action() {
this.type = Type.KEY;
}
//properties, getters, setters ...
}
班级Model
:
public class Model {
public static enum Type {
POSITION, MOUSE, KEY, TEXT
}
public final Type type;
public void doSomething() {
Action action = new Action();
switch (action.type) {
case this.Type.POSITION: //cannot convert from Model.Type to Action.Type
//do stuff here
break;
case ...
//more stuff here
break;
default:
//default stuff here
break;
}
}
}
这是我的(简化的)初始方法,显然不起作用。模型需要做一些操作,取决于Type
Action
具有的Action.Type type = action.type;
,我想确定不必跨越两个类之间的边界,这意味着我希望有一个比以下内容:
end = ' '
答案 0 :(得分:3)
您必须将枚举提取到一个单独的源文件中,就像一个类,但类型为'enum':
public enum Type {
POSITION,
MOUSE,
KEY,
TEXT
}
并通过导入将其访问到您的课程中。
您还可以使用static关键字将枚举保存到您的一个类中,并通过添加import语句在另一个类中访问它