枚举的单例构造方法

枚举类,里面还有对应的构造方法,但是,枚举的构造方法只能私有化,类似于单例,单个枚举后面添加的参数,可以通过私有构造方法映射出去,但是必须提供相应的get方法

例如,如下代码:

public enum DemoEnum {
    MONDAY("星期一"),
    TUESDAY("星期二"),
    WENSDAY("星期三"),
    THURSDAY("星期四"),
    FRIDAY("星期五"),
    SATURDAY("星期六"),
    SUNDAY("星期日");
    
    private String msg ;
    
    private DemoEnum(String msg){
        this.msg=msg;
    }
    
    public String getMsg() {
        return msg;
    }
}

测试枚举构造方的类:

@Test
public void testDemoEnum(){
       DemoEnum monday = DemoEnum.MONDAY;
       System.out.pritln(monday+"=="+monday.name()+"=="+monday.getMsg());
       DemoEnum[] demoEnums = DemoEnum.values();
       for(DemoEnum d : demoEnums){
            System.out.println(d.name()+"=="+d.getMsg());
        }
    
}

得到的结果:

MONDAY==MONDAY==星期一
MONDAY==星期一
TUESDAY==星期二
WENSDAY==星期三
THURSDAY==星期四
FRIDAY==星期五
SATURDAY==星期六
SUNDAY==星期日

 

你可能感兴趣的:(java)