今天学习Java觉得带构造函数的枚举挺有意思的!代码如下:
package com.jemsn.weekday; public class test { public static void main(String[] args) { weekday mon = weekday.mon; weekday tue = weekday.tue; weekday thus = weekday.thus; weekday fri = weekday.fri; } public enum weekday { mon(), tue(2), wes(3), thus(), fri; private weekday() { System.out.println("no args"); } private weekday(int i) { System.out.println("have args " + i); }; } }
输出的结果如下:
---------------------------------------------------------------------------------------
no args
have args 2
have args 3
no args
no args
--------------------------------------------------------------------------------------
所以今天终于明白原来枚举就像类一样,可以有构造函数!并且上述枚举里的fri本身就是一个weekday对象!就像我们自己写的fri=new weekday()一样!
mon()就是执行不带参数的构造函数!