站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

java枚舉類型enum用法有哪些

java枚舉類型enum用法有:1、枚舉型常量;2、帶一個(gè)參數(shù)的枚舉;3、向枚舉中添加新方法;4、覆蓋枚舉的方法。

java枚舉類型enum用法有哪些

java枚舉類型enum用法有:

一、枚舉型常量

package com.yang; //首先枚舉是一個(gè)特殊的class //這個(gè)class相當(dāng)于final static修飾,不能被繼承 //他的構(gòu)造方法強(qiáng)制被私有化,下面有一個(gè)默認(rèn)的構(gòu)造方法private ColorEnum(); //所有的枚舉都繼承自java.lang.Enum類。由于Java 不支持多繼承,所以枚舉對象不能再繼承其他類 public enum ColorEnum {     //每個(gè)枚舉變量都是枚舉類ColorEnum的實(shí)例,相當(dāng)于RED=new ColorEnum(1),按序號來。     //每個(gè)成員變量都是final static修飾     RED, GREEN, BLANK, YELLOW; }

測試類:

@org.junit.Test public void ColorTest() {     //ordinal返回枚舉變量的序號     for(ColorEnum color:ColorEnum.values()) {         System.out.println(color+",ordinal:"+color.ordinal()+",name:"+color.name());     } }

二、帶一個(gè)參數(shù)的枚舉

package com.yang; public enum TypeEnum {     FIREWALL("firewall"),       SECRET("secretMac"),       BALANCE("f5");       private String typeName;       TypeEnum(String typeName) {           this.typeName = typeName;       }       /**       * 根據(jù)類型的名稱,返回類型的枚舉實(shí)例。       *       * @param typeName 類型名稱       */       public static TypeEnum fromTypeName(String typeName) {           for (TypeEnum type : TypeEnum.values()) {               if (type.getTypeName().equals(typeName)) {                   return type;               }           }           return null;       }       public String getTypeName() {           return this.typeName;       }     }

測試類:

@org.junit.Test public void TypeTest() {     String typeName = "f5";       TypeEnum type = TypeEnum.fromTypeName(typeName);     //type:是TypeEnum類實(shí)例化對象     typeName:實(shí)例化對象type的值                  // ordinal:實(shí)例化對象type的序號(int)          排序值(默認(rèn)自帶的屬性 ordinal 的值)     //name:實(shí)化對象的名字(String)                            枚舉名稱(即默認(rèn)自帶的屬性 name 的值)     System.out.println(type+",typeName:"+type.getTypeName()+",ordinal:"+type.ordinal()+",name:"+type.name()); }

三、向枚舉中添加新方法

package com.yang; public enum SeasonEunm {     //每一個(gè)枚舉變量都是枚舉類SeasonEunm的實(shí)例化     //SeasonEunm.SPRING獲得的對象相當(dāng)于new SeasonEunm("春","春困");獲得的對象     SPRING("春","春困"),SUMMER("夏","夏睡"),AUTUMN("秋","秋乏"),WINTER("冬","冬眠");     //強(qiáng)制私有化的構(gòu)造方法,因?yàn)槊杜e類默認(rèn)繼承Eunm類,被final static修飾,不能被繼承     //由于被強(qiáng)制private,所以不能使用new去生成枚舉對象     //在SeasonEunm.SPRING獲得對象,隱式調(diào)用了下面的構(gòu)造方法     // 構(gòu)造方法 ,賦值給成員變量     private SeasonEunm(String name, String value) {         this.name = name;         this.value = value;     }     //添加成員變量的原因是,方便夠著方法賦值,使用SeasonEunm.SPRING.getName就能獲取對應(yīng)的值     private String name;     private String value;     public String getName() {         return name;     }     public void setName(String name) {         this.name = name;     }     public String getValue() {         return value;     }     public void setValue(String value) {         this.value = value;     }

測試類:

@org.junit.Test public void SessionTest() {     //ordinal返回枚舉變量的序號     for(SeasonEunm seasion:SeasonEunm.values()) {         System.out.println(seasion+",ordinal:"+seasion.ordinal()+",name:"+seasion.name());         System.out.println("枚舉變量值:"+seasion.getName()+",枚舉變量值:"+seasion.getValue());     } }

四、覆蓋枚舉的方法

package com.yang; public enum RGBEnum {     RED("紅色", 1), GREEN("綠色", 2), BLANK("白色", 3), YELLO("黃色", 4);       // 成員變量       private String name;       private int index;       // 構(gòu)造方法 ,賦值給成員變量     private RGBEnum(String name, int index) {           this.name = name;           this.index = index;       }       //覆蓋方法  :只能使用toString方法來輸出枚舉變量值     @Override       public String toString() {           return this.index+"_"+this.name;       }   }

測試方法:

@org.junit.Test public void RGBEnumTest() {     for(RGBEnum rgb:RGBEnum.values()) {         System.out.println(rgb.toString());     } }

相關(guān)免費(fèi)學(xué)習(xí)推薦:java基礎(chǔ)教程

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
八区精品色欲人妻综合网| 久这里只精品99re66| 久久99精品国产麻豆蜜芽| 亚洲日韩乱码中文无码蜜桃| 国产精品成人亚洲| 青青青国产精品视频| 中文字幕精品三区无码亚洲| 久久精品久噜噜噜久久| 亚洲综合一区二区精品久久| 日韩AV无码精品人妻系列| 久久99精品久久久久久久野外| 国产亚洲精品自在久久| 99精品国产99久久久久久97| 老司机精品福利在线| 日韩高清一级毛片| 日韩高清在线观看永久| 视频一区视频二区日韩专区| 日韩精品一二三四区| 日韩在线观看视频免费| 日韩福利视频导航| 国产伦精品一区二区三区在线观看| 日本精品αv中文字幕| 情侣视频精品免费的国产| 亚洲精品美女久久7777777| 2020久久精品国产免费| 琪琪精品视频在线观看| 18国产精品白浆在线观看免费| 免费99精品国产自在现线| 亚洲精品自偷自拍无码| 在线精品视频一区二区| 亚洲国产精品ⅴa在线观看| 亚洲精品国产第一综合99久久 | 欧洲精品一卡2卡三卡4卡乱码 | 日韩精品电影一区亚洲| 日韩精品亚洲专区在线观看| 四虎成人精品国产永久免费无码| 欧洲精品码一区二区三区免费看| 思思久久99热免费精品6| 国产成人精品视频2021| 国产精品五月天强力打造| 中文字幕在线久热精品|