http://blog.csdn.net/qiuchengjia/article/details/52910948
编译器将会把他转成如下内容:
public final class Color extends Enum {
public static final Color[] values() { return (Color[])$VALUES.clone(); }
public static Color valueOf(String name) { ... }
private Color(String s, int i) { super(s, i); }
public static final Color RED;
public static final Color BLUE;
public static final Color GREEN;
private static final Color $VALUES[];
static {
RED = new Color("RED", 0);
BLUE = new Color("BLUE", 1);
GREEN = new Color("GREEN", 2);
$VALUES = (new Color[] { RED, BLUE, GREEN });
}
}
public static void main(String[] args) {
Color blue = Color.blue;
}
enum Color {
red,blue;
Color() {
System.out.println("无参构造");
}
}
控制台输出:
无参构造
无参构造
为什么会调用Color的无参构造