久久国产精品无码网站,在线天堂免费中文字幕,亚洲成年人av,全黄特一级,亚洲电影成人av99爱色,久久久性生活视频,91免费在线

java語言

Java為什么要枚舉

時間:2025-05-08 19:50:57 java語言 我要投稿
  • 相關推薦

Java為什么要枚舉

  導語:每個元素分別用一個公有的靜態(tài)成員變量表示,再組合成類,下面是關于Java語言枚舉的原因,歡迎參考!

  問題:要定義星期幾或性別的變量,該怎么定義?假設用1-7分別表示星期一到星期日,

  但有人可能會寫成int weekday = 0;或即使使用常量方式也無法阻止意外。

  枚舉就是要讓某個類型的變量的取值只能為若干個固定值中的一個,否則,編譯器就會報錯。

  枚舉可以讓編譯器在編譯時就可以控制源程序中填寫的非法值,

  普通變量的方式在開發(fā)階段無法實現這一目標。

  **用普通類如何實現枚舉的功能?定義一個Weekday類來模擬實現:

  步驟:

  *私有化構造方法

  *每個元素分別用一個公有的靜態(tài)成員變量表示(public static final)

  *可以有若干公有方法或抽象方法。采用抽象方法定義nextDay就將大量的if.else語句

  轉移成了一個個獨立的類。

  **枚舉的應用:

  舉例:定義一個Weekday的枚舉。

  擴展:枚舉類的values,valueOf,name,toString,ordinal等方法

  (記住,講課時要先于自定義方法前介紹,講課更流暢)

  總結:枚舉是一種特殊的類,其中的每個元素都是該類的一個實例對象。

  例如可以調用WeekDay.SUN.getClass().getName和WeekDay.class.getName()。

  **枚舉的高級應用:

  **枚舉就相當于一個類,其中也可以定義構造方法、成員變量、普通方法和抽象方法。

  **枚舉元素必須位于枚舉體中的最開始部分,枚舉元素列表的后要有分號與其他成員分隔。

  把枚舉中的成員方法或變量等放在枚舉元素的前面,編譯器報告錯誤。

  **帶構造方法的枚舉

  構造方法必須定義成私有的

  如果有多個構造方法,該如何選擇哪個構造方法?

  枚舉元素MON和MON()的效果一樣,都是調用默認的構造方法。

  **帶方法的枚舉

  定義枚舉TrafficLamp

  實現普通的next方法

  實現抽象的next方法:每個元素分別是由枚舉類的子類來生成的實例對象,

  這些子類采用類似內部類的方式進行定義。增加上表示時間的構造方法

  **枚舉只有一個成員時,就可以作為一種單例的實現方式。


【Java為什么要枚舉】相關文章:

使用Java的枚舉類型的方法03-14

詳解Java枚舉類型enum及其使用01-06

Java中的String為什么是不可變的07-10

為什么要學習PHP?11-30

C語言的枚舉類型知識07-22

為什么要考CPA08-14

為什么要重裝系統05-27

為什么要學英語寫作05-16

為什么要學網頁設計06-17