黑馬程式設計師_Java高新技術之列舉
---------------------- ASP.Net+Android+IO開發S、.Net培訓、期待與您交流! ----------------------
l為什麼要有列舉
Ø問題:要定義星期幾或性別的變數,該怎麼定義?假設用1-7分別表示星期一到星期日,但有人可能會寫成intweekday
= 0;或即使使用常量方式也無法阻止意外。
Ø列舉就是要讓某個型別的變數的取值只能為若干個固定值中的一個,否則,編譯器就會報錯。列舉可以讓編譯器在編譯時就可以控制源程式中填寫的非法值,普通變數的方式在開發階段無法實現這一目標。
l用普通類如何實現列舉功能,定義一個Weekday的類來模擬列舉功能。
Ø私有的構造方法
Ø每個元素分別用一個公有的靜態成員變數表示
Ø可以有若干公有方法或抽象方法。採用抽象方法定義nextDay就將大量的if.else語句轉移成了一個個獨立的類。
l列舉的基本應用
Ø舉例:定義一個Weekday的列舉。
Ø擴充套件:列舉類的values,valueOf,name,toString,ordinal等方法
Ø總結:列舉是一種特殊的類,其中的每個元素都是該類的一個例項物件,例如可以呼叫WeekDay.SUN.getClass().getName和WeekDay.class.getName()。
l列舉就相當於一個類,其中也可以定義構造方法、成員變數、普通方法和抽象方法。
l列舉元素必須位於列舉體中的最開始部分,列舉元素列表的後要有分號與其他成員分隔。把列舉中的成員方法或變數等放在列舉元素的前面,編譯器報告錯誤。
l帶構造方法的列舉
Ø構造方法必須定義成私有的
Ø如果有多個構造方法,該如何選擇哪個構造方法?
Ø列舉元素MON和MON()的效果一樣,都是呼叫預設的構造方法。
l帶方法的列舉
Ø定義列舉TrafficLamp
Ø實現普通的next方法
Ø實現抽象的next方法:每個元素分別是由列舉類的子類來生成的例項物件,這些子類採用類似內部類的方式進行定義。
Ø增加上表示時間的構造方法
l列舉只有一個成員時,就可以作為一種單例的實現方式。
---------------------- ASP.Net+Android+IOS開發、.Net培訓、期待與您交流! ----------------------
相關文章
- 黑馬程式設計師--java高新技術 25--列舉,反射程式設計師Java反射
- 黑馬程式設計師——Java高新技術---反射程式設計師Java反射
- 黑馬程式設計師Java培訓和Android培訓_java高新技術(一)程式設計師JavaAndroid
- 黑馬程式設計師——Java學習筆記之⑧——“Java新技術”程式設計師Java筆記
- 黑馬程式設計師-Java概述程式設計師Java
- 黑馬程式設計師Java培訓和Android培訓Java技術二程式設計師JavaAndroid
- 黑馬程式設計師程式設計師
- 黑馬程式設計師Java培訓和Android培訓:列舉程式設計師JavaAndroid
- 黑馬程式設計師java筆記之一-----Map集合程式設計師Java筆記
- 黑馬程式設計師——Java學習筆記之⑦——“網路程式設計”程式設計師Java筆記
- 黑馬程式設計師前端學習之路程式設計師前端
- 黑馬程式設計師——型別轉換程式設計師型別
- 【黑馬程式設計師濟南中心】java基礎-陣列程式設計師Java陣列
- 黑馬程式設計師Java培訓和Android培訓:程式設計基礎程式設計師JavaAndroid
- 黑馬程式設計師第七天程式設計師
- 好程式設計師Java培訓Java程式設計師必學技術程式設計師Java
- 黑馬程式設計師Java培訓和Android培訓:I/O程式設計師JavaAndroid
- 黑馬程式設計師Java培訓和Android培訓_IO(二)程式設計師JavaAndroid
- Java之列舉, 程式設計師應該掌握的開發技巧“簡潔易懂又安全的程式碼”Java程式設計師
- Java外包程式設計師的技術出路Java程式設計師
- 程式設計師的燈下黑:重知識輕技術程式設計師
- 黑馬程式設計師Java培訓和Android培訓:培訓前奏程式設計師JavaAndroid
- 黑馬程式設計師Java培訓和Android培訓:物件導向程式設計師JavaAndroid物件
- 黑馬程式設計師Java培訓和Android培訓:內部類程式設計師JavaAndroid
- Java之列舉的注意Java
- 黑馬程式設計師_畢向東JAVA基礎_設計模式&異常處理機制程式設計師Java設計模式
- 黑馬程式設計師Java培訓和Android培訓:多執行緒程式設計師JavaAndroid執行緒
- Java程式設計師必讀:最新流行的Java開發程式設計技術Java程式設計師
- 【黑馬程式設計師濟南中心】代理模式-Cglib代理程式設計師模式CGLib
- 黑馬程式設計師面試題一(交通燈管理系統)程式設計師面試題
- 黑馬程式設計師---學習筆記3:進位制程式設計師筆記
- 黑馬程式設計師—一張帖看完黑馬所有學科、班級就業薪資貼程式設計師就業
- 簡單看看java之列舉Java
- 好程式設計師Java培訓分享Java之反射技術程式設計師Java反射
- 黑馬程式設計師_ios基礎總結1_IOS概述程式設計師iOS
- 黑馬程式設計師Java培訓和Android培訓Java GUI圖形使用者介面程式設計師JavaAndroidGUI
- 程式設計師的燈下黑:管理還是技術?興趣優先程式設計師
- 程式設計師【黑話】指南程式設計師