日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

枚举类

發(fā)布時間:2024/4/17 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 枚举类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、枚舉類的使用

  • 枚舉類的理解:類的對象是有限個,確定的。我們稱此類為枚舉類
  • 當(dāng)需要定義一組常量時(訂單狀態(tài),一年的季節(jié),支付方式等),強(qiáng)烈建議使用枚舉類
  • 如果枚舉類中只有一個對象,則作為單例模式的實現(xiàn)方式(單例的寫法之一)
  • 二、如何定義枚舉類

    • 自定義枚舉類
    /*** @Author Helius* @Create 2019-05-19-21:48*/ public class SeasonTest {public static void main(String[] args) {Season spring = Season.SPRING;System.out.println(spring);} }/*** 自定義枚舉類*/ class Season {// 1.聲明season對象的屬性,private,final修飾private final String seasonName;private final String seasonDesc;// 2.私有化類的構(gòu)造器private Season(String seasonName, String seasonDesc) {this.seasonName = seasonName;this.seasonDesc = seasonDesc;}// 3.提供當(dāng)前枚舉類的多個對象:public static final的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("冬天","冰天雪地");// 4.獲取枚舉類對象的屬性public String getSeasonName() {return seasonName;}public String getSeasonDesc() {return seasonDesc;}//5.提供toString()@Overridepublic String toString() {return "Season{" +"seasonName='" + seasonName + '\'' +", seasonDesc='" + seasonDesc + '\'' +'}';} }

    打印結(jié)果:

    Season{seasonName='春天', seasonDesc='春暖花開'}

    • 使用enum關(guān)鍵字
    public class SeasonTest1 {public static void main(String[] args) {Season1 summer = Season1.SUMMER;System.out.println(summer);} }// 使用enum關(guān)鍵字 enum Season1 {// 1.提供當(dāng)前枚舉類的對象,多個對象之間用","隔開,末尾對象“;”結(jié)束// 最主要的區(qū)別在這里SPRING("春天", "春暖花開"),SUMMER("夏天", "夏日炎炎"),AUTUMN("秋天", "秋高氣爽"),WINTER("冬天", "冰天雪地");// 1.聲明Season1對象的屬性,private,final修飾private final String Season1Name;private final String Season1Desc;// 2.私有化類的構(gòu)造器private Season1(String Season1Name, String Season1Desc) {this.Season1Name = Season1Name;this.Season1Desc = Season1Desc;}// 4.獲取枚舉類對象的屬性public String getSeason1Name() {return Season1Name;}public String getSeason1Desc() {return Season1Desc;} }

    打印結(jié)果:

    SUMMER // 并未打印對象的地址值,而是打印出summer,說明toString方法被重寫過,可以不再重寫

    class java.lang.Enum // 枚舉類的父類

    三、Enum的常用方法

    public class SeasonTest1 {public static void main(String[] args) {Season1 summer = Season1.SUMMER;// toString方法System.out.println(summer.toString());System.out.println("***********");// System.out.println(Season1.class.getSuperclass());// values()方法Season1[] values = Season1.values();for (Season1 value : values) {System.out.println(value);}// valueOf(String objNme):返回枚舉類中對象名為objName的對象// 如果沒有objName的枚舉類對象,則拋異常:IllegalArgumentExceptionSeason1 winter = Season1.valueOf("WINTER");System.out.println(winter);} }

    四、枚舉類實現(xiàn)接口

    實現(xiàn)接口的抽象方法即可,可以為每個枚舉類對象分別提供實現(xiàn)

    SPRING("春天", "春暖花開"){@Overridepublic void show() {System.out.println(“春天在哪里);}},

    轉(zhuǎn)載于:https://www.cnblogs.com/heliusKing/p/10891380.html

    總結(jié)

    以上是生活随笔為你收集整理的枚举类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。