我正在寻找一种能够为每个枚举实例定义方法的方法。我们都知道本页底部的代码构造。
我正在寻找的区别是能够在一个单独的文件中为每个枚举定义一个或多个抽象方法,该文件经过编译时验证。这意味着如果有人要添加另一个枚举实例,我会得到一个编译时错误,而不是运行时错误,这是我在本页底部的构造中得到的。
请求的原因是,在我正在查看的某些代码中,应该为每个枚举定义许多方法,但与枚举定义实际上无关,所以我想将它们放在单独的文件中,但不会失去好处解决这个问题的“标准”方式。
public enum MyEnum {
X {
public void calc(Outer o) {
// do something
}
},
Y {
public void calc(Outer o) {
// do something
}
};
// abstract method
abstract void calc(Outer o);
}