java枚举数据类型中的构造函数

时间:2014-07-20 19:52:10

标签: java

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构造函数三次? /

1 个答案:

答案 0 :(得分:1)

Enum Members (JLS-8.9.3),有这个(除其他事项外)说 -

  

当初始化相应的隐式声明字段时,会产生枚举常量。

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