package myPackage;
enum CarDemo {
    MARUTI(1), SUXIKI(2),GALIOK(4);
    String st;
    int i;
    CarDemo(String st){
        this.st=st;
    }
    CarDemo(int i){
        this.i=i;
        System.out.println(i);
    }
}
public class Car{
        public static void main(String a[]){
            CarDemo s =CarDemo.MARUTI;
        }
}


/当我执行了该程序并显示了枚举常量的全部值时,是否在main方法中创建枚举类型的过程中调用了三次枚举构造函数?/

最佳答案

Enum Members (JLS-8.9.3),还有其他事情要说-


  初始化对应的隐式声明的字段时,将创建一个枚举常量。


因此,当您的main()运行并使用s初始化CarDemo s = CarDemo.MARUTI;时,将创建所有成员。

07-26 02:47