1. 程式人生 > >java枚舉(二):即對java枚舉(一)中的例子進行拓展

java枚舉(二):即對java枚舉(一)中的例子進行拓展

枚舉

/* 知識點:枚舉 枚舉是從java5開始提供的一種新的數據類型,是一個特殊的類,就是多個常量對象的集合 定義格式: [修飾符] enum 枚舉類名 { 常量A, 常量B, 常量C; } */ //定義枚舉 enum Weekday { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday; //枚舉類型中的Monday等價於原來的:public static final Weekday Monday = new Weekday(); } class Employees { private Weekday restday; //一周的哪一天休息(數據類型為Weekday) public Weekday getRestday() { return restday; } public void setRestday(Weekday restday) //數據類型為Weekday { this.restday = restday; } } public class EnumerateExample { public static void main(String[] args) { Employees e = new Employees(); //創建員工對象 e.setRestday(Weekday.Wednesday); //通過類名.對象的方式來設置休息時間 Weekday restday = e.getRestday(); //用Weekday類型的變量restday來接收得到的值 if(restday == Weekday.Saturday || restday == Weekday.Sunday) { System.out.println("周末休息..."); } else { System.out.println("周一至周五休息..."); } } } /* Weekday類的字節碼文件內容(用java字節碼反編譯工具進行反編譯後查看): final class Weekday extends Enum //自定義的Weekday枚舉類在底層裏都是繼承java.lang中的Enum { public static final Weekday Monday; public static final Weekday Tuesday; public static final Weekday Wednesday; public static final Weekday Thursday; public static final Weekday Friday; public static final Weekday Saturday; public static final Weekday Sunday; private static final Weekday $VALUES[]; public static Weekday[] values() { return (Weekday[])$VALUES.clone(); } public static Weekday valueOf(String s) { return (Weekday)Enum.valueOf(Weekday, s); } private Weekday(String s, int i) { super(s, i); } static { Monday = new Weekday("Monday", 0); Tuesday = new Weekday("Tuesday", 1); Wednesday = new Weekday("Wednesday", 2); Thursday = new Weekday("Thursday", 3); Friday = new Weekday("Friday", 4); Saturday = new Weekday("Saturday", 5); Sunday = new Weekday("Sunday", 6); $VALUES = (new Weekday[] { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }); } } */


java枚舉(二):即對java枚舉(一)中的例子進行拓展