带有标签的类内部的java枚举

时间:2014-11-28 07:23:21

标签: java enums

如何在课堂上用标签创建枚举? 如果enum是单个java文件,那很简单,我需要创建String变量,然后是consctructor,getter和setter,如下所示:

public enum Status {
    OPENED("opened"), CLOSED("closed");

    private Status(String label) {
        this.label = label;
    }

    public String label;

    public String getLabel() {
        return label;
    }
}

但是,如果我在课堂上有枚举,我该如何实现呢?

public class Shop {

     private enum Status {
        OPENED("opened"),CLOSED("closed");
   } 

}

1 个答案:

答案 0 :(得分:2)

您需要枚举构造函数和枚举成员,就像您定义顶级枚举一样。

public class Shop {
    private enum Status {
        OPENED("opened"),CLOSED("closed");

        private Status(String label) {
            this.label = label;
        }

        public String label;

        public String getLabel() {
            return label;
        }
    } 
}

这将编译得很好。

请注意,嵌套在类中的枚举,默认情况下为隐式静态。这样您就不需要Shop实例,但可以使用以下命令访问嵌套枚举:

Shop.Status opened = Shop.Status.OPENED;