我正在阅读J.Bloch的Effective Java并提出以下内容(关于枚举的Setcion):
将多个行为与单个方法相关联,可以减少很少的枚举.在这种相对罕见的情况下,更喜欢使用常量特定的方法来打开自己的值
对我来说,这种使用编译时常量的情况并不清楚.难道你不能提供一个反映这个的简单例子吗?
我认为该段落中讨论的内容是:
void myMethod(MyEnum enum){
switch(enum){
case VALUE1:
break;
case VALUE2:
break;
}
}
Run Code Online (Sandbox Code Playgroud)
和
enum MyEnum{
VALUE1(){
protected void myMethod(){
//body
}
},
VALUE2(){
protected void myMethod(){
//body
}
}
protected abstract void myMethod();
}
Run Code Online (Sandbox Code Playgroud)