黑馬程序員----【java基礎加強】張孝祥視頻總結1

------- android培訓java培訓、期待與您交流! ----------


枚舉

1.它不能有public的構造函數,這樣做可以保證客戶代碼沒有辦法新建一個枚舉的實例

 2.所有枚舉值都是public , static , final的。注意這一點只是針對於枚舉值,我們可以和在普通類裏面定義 變量一樣定義其它任何類型的非枚舉變量,這些變量可以用任何你想用的修

飾符

3.枚舉默認實現了java.lang.Comparable接口。

4.枚舉覆載了了toString方法,因此我們如果調用Color.Blue.toString()默認返回字符串”Blue”.

5.枚舉提供了一個valueOf方法,這個方法和toString方法是相對應的。調用valueOf(“Blue”)將返回Color.Blue.因此我們在自己重寫toString方法的時候就要注意到這一點,一把來說

應該相對應地重寫valueOf方法

6.枚舉還提供了values方法,這個方法使你能夠方便的遍歷所有的枚舉值。

7.枚舉還有一個oridinal的方法,這個方法返回枚舉值在枚舉類種的順序,這個順序根據枚舉值聲明的順序而定,這裏Color.Red.ordinal()返回0

例子:

     public    enum    Color    {     
     Red,     
     Green,     
     Blue;     
    
     /*     
     *定義一個變量表示枚舉值的數目        
     */     
     private    static    int    number    =    Color.values().length    ;     
    
     /**     
     *    隨機返回一個枚舉值     
     @return    a    random    enum    value.     
     */     
     public    static    Color    getRandomColor(){     
     long    random    =    System.currentTimeMillis()    %    number;     
     switch    ((int)    random){     
      case    0:     
       return    Color.Red;     
      case    1:     
       return    Color.Green;     
      case    2:     
       return    Color.Blue;     
      default    :    return    Color.Red;     
     }     
     }     
     }     


     public    enum    Color    {     
     Red    {     
     public    String    toString(){     
      return    "Color.Red";     
     }     
     },     
     Green    {     
     public    String    toString(){     
      return    "Color.Green";     
     }     
     },     
     Blue{     
     public    String    toString(){     
      return    "Color.Blue";     
     }     
     };     
     }     


------- android培訓java培訓、期待與您交流! ----------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章