| public enum WeekDay { SUN(),MON(1),TUS(2),WES(3),FOU("星期四"),FRI("星期五"),STA("星期六");
 /*
 *构造函数必须是私有的,默认的,不能是public或者protecte
 *必须在成员feild的后面
 *field后面必须加分号
 */
 
 private WeekDay(){
 System.out.println("无参的枚举构造方法");
 };
 WeekDay(int i){
 System.out.println("int参数的枚举构造方法"+i);
 }
 private WeekDay(String str){
 System.out.println("String参数的枚举构造方法"+str);
 }
 }
 public class EnumTest {
 public static void main(String[] args) {
 
 WeekDay wd=WeekDay.SUN;
 }
 }
 
 为什么我没有写打印语句,却在控制台出现了如下打印语句,求高人指点。
 无参的枚举构造方法
 int参数的枚举构造方法1
 int参数的枚举构造方法2
 int参数的枚举构造方法3
 String参数的枚举构造方法星期四
 String参数的枚举构造方法星期五
 String参数的枚举构造方法星期六
 
 我的理解是一旦枚举被调用,它里面的field被初始化,即构造方法被初始化,所以打印出了这些语句。
 如果你有更深层的解答,或者更好的答案,求指教啊。
 
 |