我突然间输入了口袋妖怪类型的枚举
public enum Type {
NORMAL () { // This is the question. Why does Java allow this?
int x = 10; // Only accepts variables?
};
Type () {}
}
Run Code Online (Sandbox Code Playgroud)
此代码编译正确.
代码块对常量有什么用?
khe*_*ood 10
枚举中的代码块允许您覆盖枚举类型中定义的方法.例如
enum Foo {
PEAR,
BANANA() {
@Override
public void doFoo() {
System.out.println("Banana foo");
}
},
APPLE,
GRAPE;
public void doFoo() {
System.out.println("Default foo");
}
}
Run Code Online (Sandbox Code Playgroud)
这Foo.BANANA.doFoo()
将产生"Banana foo"
,而呼吁doFoo()
任何其他Foo
将产生"Default foo"
.
归档时间: |
|
查看次数: |
370 次 |
最近记录: |