1. 程式人生 > >黑馬程式設計師_java高新技術 列舉

黑馬程式設計師_java高新技術 列舉

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

1、列舉。   
 列舉就是要讓某個型別的變數的取值只能為若干個固定值中的一個,否則,編譯器就會報錯。列舉可以讓編譯器在編譯時就可以控制源程式中填寫的非法值,普通變數的方式在開發階段無法實現這一目標。
2、用普通類實現列舉功能,定義一個Weekday的類來模擬列舉功能。
 私有的構造方法
 每個元素分別用一個公有的靜態成員變量表示
 可以有若干公有方法或抽象方法。例如:要提供nextDay方法必須是抽象的。採用抽象方法定義nextDay就將大量的ifelse語句轉義成了一個獨立的類。
3、列舉的基本應用
 舉例:定義一個Weekday的列舉。
 擴充套件:列舉類的values,valuesOf,name,toString,ordinal等方法
 總結:列舉是一種特殊的類,其中的沒個元素都是該類的一個例項物件,例如可以呼叫WeekDay.SUN.getClass().getName和WeekDay.class.getName()。
4、列舉就相當於一個類,也可以定義構造方法、成員變數、普通方法和抽象方法。
5、列舉元素必須位於列舉體中的最開始部分,列舉元素列表的後面要有分毫與其他成員分隔。把列舉中的成員方法或變數等放在列舉元素的前面,編譯器報告錯誤。
6、帶構造方法的列舉
 構造方法必須定義私有的
 如果有多個構造方法,該如何選擇哪個構造方法?
 列舉元素MON和MON()的效果一樣,都是呼叫預設的構造方法。
7、帶方法的列舉 
 定義列舉TrafficLamp
 實現普通的next方法
 實現抽象的next方法:沒個元素分別是由列舉的子類來生成的例項物件,這些子類採用類似內部類的方式進行定義。 
 增加表示時間的構造方法。
8、列舉只有一個成員時,就可以作為一種單例的實現方式。

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