• <xmp id="miewm"><strong id="miewm"></strong>
  • 成都java開發培訓
    達內成都高升橋中心

    成都java程序員學習:java枚舉Enum

    • 時間:2020-12-18 12:25
    • 發布:成都達內
    • 來源:成都達內

    使用自定義類實現枚舉

    1) 不需要提供setXxx 方法,因為枚舉對象值通常為只讀.

    2) 對枚舉對象/屬性使用 final + static 共同修飾,實現底層優化.

    3) 枚舉對象名通常使用全部大寫,常量的命名規范.

    4) 枚舉對象根據需要,也可以有多個屬性

    package class_Enum;

    public class ClassTest {

    public static void main(String[] args) {

    System.out.println(Season.AUTUMN);

    }

    }

    class Season{

    private String name;

    private Season(String name) {

    super();

    this.name = name;

    }

    private String getName() {

    return name;

    }

    //自定義類實現枚舉,就等于使用單例模式一樣(常量對象,私有構造器與get方法)

    public static final Season SPRING = new Season("春天");

    public static final Season SUMMER = new Season("夏天");

    public static final Season AUTUMN = new Season("秋天");

    public static final Season WINTER = new Season("冬天");

    @Override

    public String toString() {

    return name;

    }

    }

    案例小結

    1) 構造器私有化

    2) 本類內部創建一組對象

    3) 對外暴露對象(通過為對象添加public final static修飾符)

    4) 可以提供 get方法,但是不要提供 set

    使用enum關鍵字聲明枚舉類

    對上面的案例進行修改,實現同樣的效果:

    package class_Enum;

    public class ClassTest02 {

    public static void main(String[] args) {

    System.out.println(Season1.AUTUMN);

    }

    }

    //使用enum關鍵字聲明枚舉類,所以在枚舉類中,也可以有實現接口等其他所有普通類可以使用的東西

    //使用enum關鍵字聲明的類,默認繼承Enum父類。

    enum Season1{

    //枚舉類的對象聲明可以省略的寫為:對象名(參數列表)

    //例如:AUTUMN("秋天") → 調用只有一個參數的構造器

    //但枚舉類的對象聲明必須寫在類定義的最前面,如果有多個對象,使用逗號間隔,分號結尾

    SPRING("春天"),SUMMER("夏天"),AUTUMN("秋天"),WINTER("冬天");

    private String name;

    private Season1(String name) {

    this.name = name;

    }

    private String getName() {

    return name;

    }

    // //自定義類實現枚舉,就等于使用單例模式一樣(常量對象,私有構造器與get方法)

    // public static final Season SPRING = new Season("春天");

    // public static final Season SUMMER = new Season("夏天");

    // public static final Season AUTUMN = new Season("秋天");

    // public static final Season WINTER = new Season("冬天");

    @Override

    public String toString() {

    return name;

    }

    }

    enum關鍵字使用細節

    1) 當我們使用enum 關鍵字開發一個枚舉類時,默認會繼承Enum類[如何證明]

    2) 傳統的 public static final Season2 SPRING = new Season2("春天", "溫暖"); 簡化成 SPRING("春天", "溫暖"), 這里必須知道,它調用的是哪個構造器.

    3) 如果使用無參構造器 創建 枚舉對象,則實參列表和小括號都可以省略

    4) 當有多個枚舉對象時,使用,間隔,最后有一個分號結尾

    5) 枚舉對象必須放在枚舉類的行首.

    上一篇:成都java培訓機構:flayway數據庫管理
    下一篇:成都java程序員學習:一個bug來理解Spring單例

    成都java培訓機構:flayway數據庫管理

    成都java程序員培訓Java基礎之:異常及異常處理

    成都java培訓怎么樣-不使用MQ如何實現pub/sub場景?

    成都java學習哪家可靠,java String類分享

    選擇城市和中心
    江西省

    貴州省

    廣西省

    海南省

    偷拍初高中女厕所视频