天天看點

黑馬程式員---枚舉學習2

---------------------- android教育訓練、java教育訓練、期待與您交流! ---------------------- 

實作特定的接口  

  我們已經知道enum可以定義變量和方法,它要實作一個接口也和普通class實作一個接口一樣,這裡就不作示例了。  

  定義枚舉值自己的方法。  

  前面我們看到可以為enum定義一些方法,其實我們甚至可以為每一個枚舉值定義方法。這樣,我們前面覆載   toString的例子可以被改寫成這樣。  

  public enum Color 

{    

Red

{

public String toString()

{

return "Color.Red ";

}

},

Green

{

public String toString()

{

return "Color.Green "; 

}

},

Blue

{

public String toString()

{

return "Color.Blue ";    

}    

};    

}  

  從邏輯上來說這樣比原先提供一個“全局“的toString方法要清晰一些。  

  總的來說,enum作為一個全新定義的類型,是希望能夠幫助程式員寫出的代碼更加簡單易懂,個人覺得一般也不需要過多的使用enum的一些進階特性,否則就和簡單易懂的初衷想違背了。

Enum要點

1、在程式中可以使用一個枚舉類來指定對象的取值範圍。

2、在Java中使用enum關鍵字定義一個枚舉類,每一個枚舉類都是繼承Enum類。

3、在枚舉中可以通過values()方法取得枚舉中的全部内容。

4、在枚舉類中可以定義構造方法,但在設定枚舉範圍時必須顯式地調用構造方法。

5、所有的枚舉類都可以直接使用Comparable進行排序,因為Enum類實作了Comparable接口。

6、Java類集中提供枚舉的支援類是EnumMap、EnumSet。

7、一個枚舉類可以實作一個接口或者直接定義一個抽象方法,但是每個枚舉對象都必須

分别實作全部的抽象方法。

---------------------- android教育訓練、java教育訓練、期待與您交流! ---------------------- 

詳細請檢視:http://edu.csdn.net/heima