国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java 枚舉類小結 Enum

2019-11-15 01:02:15
字體:
來源:轉載
供稿:網友
java 枚舉類小結 Enum

好久沒有接觸枚舉類了,差不多都忘了,今天抽出個時間總結一下吧。說實話,枚舉類確實能夠給我們帶來很大的方便。

說明:枚舉類它約定了一個范圍,可以理解成只可以生成固定的幾個對象讓外界去調用,故枚舉類中的構造方法都是PRivate類型的。進而求其次,究竟枚舉類到底有何特殊之處呢?

呈上代碼一覽(本人也是java Android 領域的菜鳥,如有錯誤之處,希望大家能夠給以指點)

 1 /** 2  * 測試枚舉類 3  * @author Administrator 4  * @Date   2015-8-3 5  */ 6 public class EnumTest { 7     public static void main(String[] args) { 8         Person person1 = Person.MAN; 9         System.out.println(person1);10         Person.MAN.work();11         Person.WOMEN.work();12         13     }14     //測試Person的values()方法15     public static void testValues(){16         Person []persons = Person.values();17         for(Person p:persons){18             19             System.out.println(p);20             21         }22             23     }24     //測試Person的valuesof()方法25     public static void testValuesOf(){26         Person person2 = Person.valueOf("MAN");27         System.out.println(person2);28     }29 }30 /**31  * 測試接口32  * @author Administrator33  * @Date   2015-8-334  */35 interface PersonExtends{36     void work();37 }38 /**39  * 枚舉類40  * @author Administrator41  * @Date   2015-8-342  */43 enum Person implements PersonExtends{44     MAN("zhangsan","12"){45         public void work(){46             System.out.println("能干體力活,承受得住重量");47         }48         49     },WOMEN("lisi","13"){50         public void work(){51             52             System.out.println("職場白領居多,能者居之");53         }54     };55     private String name;56     private String age;57     private Person(String name,String age){58         this.name = name;59         this.age = age;60     }61     public String getName() {62         return name;63     }64     public void setName(String name) {65         this.name = name;66     }67     public String getAge() {68         return age;69     }70     public void setAge(String age) {71         this.age = age;72     }73     public void method(){74         System.out.println("The person is liming");75     }76     @Override77     public String toString() {78         // TODO Auto-generated method stub79         return super.toString();80     }81     @Override82     public void work() {83         // TODO Auto-generated method stub84         System.out.println("男人和女人工作的強度不同");85     }86     87 }

說明一下我以上代碼的幾個關鍵的因素:

1.以前不太明白枚舉類中一開始的對象如何去寫,其實很簡單,只是原始類的縮寫而已。看如下代碼:

private final Person2 MAN = new Person2("zhangsan","12");

其實枚舉類中的對象和這個寫法是一樣的,只不過在enum聲明的類中不能夠這么寫。可以這樣理解,既然枚舉類已經限定了范圍,只能在枚舉類中new對象,故構造方法是private類型,外界也不允許修改,故它就是不變的,所以聲明成為final類型,對象初始化,這點相信大家都知道的。然而在enum中,已經知道這種約定,所以enum類中不允許這樣寫,把默認的都刪掉,有點類似接口中的final static 。所以就剩下MAN("zhangsan","12")。強調一點,枚舉對象必須寫在類的開頭。

2.在測試枚舉類中,引用枚舉類的對象相信大家一看就能明白。還有兩個方法說明一下,一是values方法,取得枚舉類中定義的枚舉類的對象,返回的是一個枚舉類的集合。如上依次遍歷。。。其次是valuesof方法,根據名字獲取枚舉類型的對象,強調一下,valuesof(String str)中的參數必須是枚舉類中對象的名字,否則將會報異常。

今天有點晚了。。明天再做更新啦。。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南木林县| 隆化县| 色达县| 关岭| 普陀区| 彰武县| 郎溪县| 嵊泗县| 宁远县| 青州市| 赣州市| 万荣县| 奇台县| 邓州市| 吐鲁番市| 罗平县| 彰武县| 梁山县| 礼泉县| 准格尔旗| 台中市| 山西省| 韶山市| 蒙自县| 体育| 镇沅| 三河市| 安泽县| 介休市| 海城市| 老河口市| 若尔盖县| 县级市| 嘉祥县| 阿坝| 光山县| 三江| 郴州市| 凤山市| 商河县| 双柏县|