Java淺析枚舉類的使用
概念:有enum關鍵字修飾的類,成為枚舉類
1、枚舉規則
- 枚舉類的對象可以有類裡面定義,不支持重新new出來,
- 枚舉類有構造函數,其他的類都一樣,可以有多個方法
- 枚舉類的構造方法必須是private私有的,成員變量都公有私有都可以
原因:枚舉類的構造方法隻能在本類中被調用,因為不支持其他來來new對象,所以自然構造函數為private
代碼示例:
package com.meijulei; //枚舉類 public enum Cat { A("小明",12),B("小花",22),C("小紅",23),D("小藍",30),E("小綠",20),F("小黃",32); public String name; private int age; private Cat(){ } private Cat(String a,int b){ name=a; age=b; } public void m1(){ System.out.println("姓名為:"+name+",年齡為:"+age); } } //調用 package com.meijulei; import com.meijulei.Cat; public class Test { public static void main(String[] args) { Cat a=Cat.A; a.m1(); } }
2、枚舉的個數
註意:枚舉的個數講的是堆中的個數,就是在枚舉類裡面所聲明的對象的個數
3、枚舉類中常用函數
**Cat.C.ordinal()**函數,計算出該對象在枚舉類中第幾個對象(從0開始計算)Cat.C.compareTo(Cat.E) 比較兩個對象的差值,前一個減去後一個,
A("小明",12),B("小花",22),C("小紅",23),D("小藍",30),E("小綠",20),F("小黃",32); System.out.println(Cat.E.ordinal()); System.out.println(Cat.C.compareTo(Cat.E));
//輸出
//4
//-2
4、實現枚舉類
接下來我們來看一個一個簡單的DEMO示例:
/** * java枚舉 */ public class Enum { public static void main(String[] args) { System.out.println(Season.SPRING); System.out.println(Season.SUMMER); System.out.println(Season.AUTUMN); System.out.println(Season.WINTER); } } // 定義的枚舉類 enum Season { // 枚舉定義的常量對象必須在最前面 SPRING("春天","萬物復蘇"), SUMMER("夏天","烈日炎炎"), AUTUMN("秋天","碩果累累"), WINTER("冬天","寒冷刺骨"); private String name; private String desc; private Season(String name, String desc) { this.name = name; this.desc = desc; } public String getName() { return name; } public String getDesc() { return desc; } @Override public String toString() { return "Season{" + "name='" + name + '\'' + ", desc='" + desc + '\'' + '}'; } }
輸出:
Season{name='春天', desc='萬物復蘇'}
Season{name='夏天', desc='烈日炎炎'}
Season{name='秋天', desc='碩果累累'}
Season{name='冬天', desc='寒冷刺骨'}
5、枚舉類的使用註意事項
當我們使用enum關鍵字來開發一個枚舉類的時候,默認會繼承Eunm類,而且是一個final修飾的類
如果我們使用的是無參構造器,則枚舉中可以直接省略小括號
// 枚舉定義的常量對象必須在最前面 SPRING("春天", "萬物復蘇"), SUMMER("夏天", "烈日炎炎"), AUTUMN("秋天", "碩果累累"), WINTER("冬天", "寒冷刺骨"), Other, Shit; Season() { } private Season(String name, String desc) { this.name = name; this.desc = desc; }
到此這篇關於Java淺析枚舉類的使用的文章就介紹到這瞭,更多相關Java枚舉類內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java實例講解枚舉enum的實現
- Java基礎之枚舉Enum類案例詳解
- 深入淺出講解Java中的枚舉類
- Java 利用枚舉實現接口進行統一管理
- Java 枚舉類和自定義枚舉類和enum聲明及實現接口的操作