作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我枚举天数的代码:
enum Days {
MON("Monday"),
TUE("Thuesday"),
WED("wedesday"),
THU("Thursday"),
FRI("Firday"),
SAT("saturday"),
SUN("Sunday");
String name;
Days(String a) {
name=a;
}
}
这是上面 Enum 的 Days.class 文件:
final class p1.Days extends java.lang.Enum<p1.Days> {
public static final p1.Days MON;
public static final p1.Days TUE;
public static final p1.Days WED;
public static final p1.Days THU;
public static final p1.Days FRI;
public static final p1.Days SAT;
public static final p1.Days SUN;
static {};
public static p1.Days[] values();
public static p1.Days valueOf(java.lang.String);
}
我的问题是Java为什么提供静态 block ,它有什么用?
最佳答案
使用 javap -c Days
,您将发现这个静态 block 中的内容。编译器实际上编译枚举,就好像它是一个像这样编写的常规类:
public final class Days extends Enum<Days> {
public static final Days MON;
...
static {
Days.MON = new Days("Monday");
...
}
...
}
关于java - 为什么Java在枚举中提供静态 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23479755/
我是一名优秀的程序员,十分优秀!