Java 枚舉

 

枚舉

 

      枚舉也是 jdk1.5 以後新增加的新特性,枚舉就是要讓某個類型的變量的取值只能爲若干個固定值中的一個,否則,編譯器就會報錯。枚舉可以讓編譯器在編譯時就可以控制源程序中填寫的非法值,普通變量的方式在開發階段是無法實現這一目標的。

 

 

枚舉的實現原理

 

 

       第一步:實現簡單的枚舉過程

 

        

 

         第二步:如果有比較多的成員,那麼將會有很多的 if else 語句。所以進行優化:

 

        

 

           將類 Sex 抽象化,所以在創建 Sex 實例對象的時候只能實例化它的子類,所以採用了匿名類將大量的 if else 轉成了一個個單獨的類。 在 next() 方法 的時候會多態爲各自實現類的 next() 方法。

 

        第三步:創建枚舉類型,並實現構造函數的重載

 

       

 

        第四步:實現交通燈枚舉類

 

       

 

   

 

        關於枚舉的個人總結:枚舉也是一個類,它的主要功能就是不允許從外部創建新的類型,以保證數據的準確性。爲了實現這個功能,在枚舉類的內部將構造函數私有化,然後對外公開已實現的子類。如果在枚舉類中有固定的方法,最好將枚舉類和該方法抽象化。這樣就保證了每個子類都必須實現這個方法。在創建子類類型的時候,使用了匿名內部類,這樣不僅僅是一個代碼的簡化,更能體現的是一種編程思想的提取。另外如果想用單利模式,可以考慮使用只有一個成員的枚舉類,這樣既能簡化我們實際寫的代碼量,還可以優化我們的代碼。

發佈了54 篇原創文章 · 獲贊 6 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章