Java學習之列舉
阿新 • • 發佈:2018-11-23
列舉型別是Java 5中新增特性的一部分,它是一種特殊的資料型別,之所以特殊是因為它既是一種類(class)型別卻又比類型別多了些特殊的約束,但是這些約束的存在也造就了列舉型別的簡潔性、安全性以及便捷性。下面先來看看什麼是列舉?如何定義列舉?
1 列舉的定義
格式:
Enum 列舉型別名{
列舉值,
列舉值,
......
列舉值;
}
例子:定義列舉,表示四季(春夏秋冬)。
2種方式: 普通的列舉,帶構造方法的列舉
package cn.njit.meiju; /**** * 列舉型別 * @author Administrator * */ public class Demo_1015 { public static void main(String[] args) { Season sea=Season.Fall; System.out.println(sea); Season_2 s1=Season_2.Autumn; System.out.println(s1.getSea()); } } enum Season{ Spring,Summer,Fall,Winter; } enum Season_2{ Spring("春天"), Summer("夏天"), Autumn("秋天"), Winter("冬天"); private String sea; private Season_2(String sea) { this.sea=sea; } public String getSea() { return sea; } public void sayHello() { System.out.println("Hello,luowen"); } }
2 列舉實現介面
由於Java單繼承的原因,enum類並不能再繼承其它類,但並不妨礙它實現介面,因此enum類同樣是可以實現多介面的。
package cn.njit.meiju; public enum Day implements Show{ MONDAY("星期一"), TUESDAY("星期二"), WEDNESDAY("星期三"), THURSDAY("星期四"), FRIDAY("星期五"), SATURDAY("星期六"), SUNDAY("星期日");// 記住要用分號結束 String desc; private Day(String desc) { //把建構函式申明為private,可以防止被例項化 this.desc=desc; } public String getDesc(){ return desc; } @Override public void show() { System.out.println("desc:"+desc); } public static void main(String[] args) { Day d=Day.MONDAY; d.show(); } }