构造函数的枚举挺有意思的!代码如下:
- 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()就是执行不带参数的构造函数!