簡體   English   中英

帶標簽的類內的Java枚舉

[英]java enum inside class with label

如何在帶有標簽的課堂上創建枚舉? 如果枚舉是單個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");
   } 

}

就像定義頂級枚舉一樣,您需要枚舉構造函數和枚舉成員。

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM