为什么它会作为结果运行

  • 本文关键字:结果 运行 java
  • 更新时间 :
  • 英文 :

enum Color {
RED, GREEN, BLUE;
// 构造函数
private Color() {
System.out.println("Constructor called for : " + this.toString());
}
public void colorInfo() {
System.out.println("Universal Color");
}
}
public class NumTest {
// 输出
public static void main(String[] args) {
Color c1 = Color.RED;
System.out.println(c1);
c1.colorInfo();
}
}

我以为运行的结果是"调用构造函数:RED"为什么构造函数被调用三次

类一初始化,枚举常量就会全部初始化——只要使用了Color。由此构造了三个REDGREENBLUE

请参阅Java语言规范第8.9章枚举类

最新更新