杰點

          hello java

          枚舉

           1 //枚舉綜合測試
           2 public class EnumTest {
           3 
           4     /**
           5      * @param args
           6      */
           7     public static void main(String[] args) {
           8         // TODO Auto-generated method stub
           9         WeekDay1 Mon=WeekDay1.MON;//實例化
          10         System.out.println(Mon.nextday()); //調用枚舉類內的方法
          11         WeekDay weekday2=WeekDay.FRI;
          12         System.out.println(weekday2);
          13         System.out.println(weekday2.name());//顯示枚舉元素名稱
          14         System.out.println(weekday2.ordinal());//顯示枚舉元素索引
          15         System.out.println(WeekDay.valueOf("SUN"));//根據字符串得到枚舉對象
          16         //WeekDay.values() 返回枚舉元素數組
          17         System.out.println(WeekDay.values().length);
          18         
          19         System.out.println(TrafficLamp.valueOf("RED").nextlamp());
          20     }
          21     
          22     public enum WeekDay{
          23         SUN(1),MON,TUE,WED,THI,FRI,SAT; //枚舉元素必須位于第一位
          24         /*枚舉的構造方法必須私有*/
          25         private WeekDay(){System.out.println("first");}
          26         private WeekDay(int day){System.out.println("second");}
          27     }
          28     
          29     public enum TrafficLamp{
          30         /*
          31          * 帶有抽象方法的枚舉
          32          * 每個元素都是枚舉的子類
          33          * 在枚舉元素{}中 實現抽象方法
          34          * 
          35          * 只有一個元素的枚舉,可以實現單例模式
          36          * */
          37         RED(30){
          38             public TrafficLamp nextlamp(){
          39                 return GREEN;
          40             }
          41         },GREEN(45){
          42             public TrafficLamp nextlamp(){
          43                 return YELLOW;
          44             }
          45         },YELLOW(5){
          46             public TrafficLamp nextlamp(){
          47                 return RED;
          48             }
          49         };
          50         
          51         public abstract TrafficLamp nextlamp();
          52         private int time;
          53         private TrafficLamp(int time){this.time=time;}
          54     }
          55 
          56 }
          57 

           1 //模擬枚舉,枚舉是一種特殊的類,每個元素都是枚舉的實例對象,枚舉可以有自己的屬性和方法
           2 public abstract class WeekDay1 {
           3     private WeekDay1(){}//私有化構造函數,則外界無法實例化
           4     
           5     public final static WeekDay1 MON=new WeekDay1(){
           6 
           7         @Override
           8         public WeekDay1 nextday() {
           9             // TODO Auto-generated method stub
          10             return SUN;
          11         }
          12         //WeekDay的子類,要實現抽象方法
          13     };
          14     //定義成員
          15     public final static WeekDay1 SUN=new WeekDay1(){
          16         @Override
          17         public WeekDay1 nextday(){
          18             return MON;
          19         }
          20     };
          21     
          22     public abstract WeekDay1 nextday(); //定義一個抽象方法
          23 /*    public WeekDay nexday(){
          24         this是指該對象,因為類的非靜態方法只能有對象來調用
          25          * 
          26         if(this==MON){
          27             return SUN;
          28         }else{
          29             return MON;
          30         }
          31     }*/
          32     
          33     public String toString(){
          34         return this==MON?"MON":"SUN";
          35     }
          36 
          37 }
          38 

          posted on 2010-12-29 13:15 杰點 閱讀(125) 評論(0)  編輯  收藏 所屬分類: JAVA


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          留言簿

          文章分類

          文章檔案

          搜索

          最新評論

          主站蜘蛛池模板: 织金县| 老河口市| 库车县| 义乌市| 社旗县| 浑源县| 鲁山县| 赤城县| 永康市| 罗山县| 开化县| 德州市| 宜章县| 韩城市| 澄江县| 仁布县| 潞西市| 旺苍县| 大冶市| 泾源县| 仁怀市| 大渡口区| 德保县| 辽宁省| 屯留县| 古蔺县| 宿松县| 巴里| 都兰县| 梧州市| 乌拉特后旗| 黄梅县| 宜兰县| 吴旗县| 镶黄旗| 林芝县| 札达县| 科尔| 平利县| 大同县| 南陵县|