奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

java語言

Java為什么要枚舉

時(shí)間:2025-05-08 19:50:57 java語言 我要投稿
  • 相關(guān)推薦

Java為什么要枚舉

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

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

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

  枚舉就是要讓某個(gè)類型的變量的取值只能為若干個(gè)固定值中的一個(gè),否則,編譯器就會(huì)報(bào)錯(cuò)。

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

  普通變量的方式在開發(fā)階段無法實(shí)現(xiàn)這一目標(biāo)。

  **用普通類如何實(shí)現(xiàn)枚舉的功能?定義一個(gè)Weekday類來模擬實(shí)現(xiàn):

  步驟:

  *私有化構(gòu)造方法

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

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

  轉(zhuǎn)移成了一個(gè)個(gè)獨(dú)立的類。

  **枚舉的應(yīng)用:

  舉例:定義一個(gè)Weekday的枚舉。

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

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

  總結(jié):枚舉是一種特殊的類,其中的每個(gè)元素都是該類的一個(gè)實(shí)例對(duì)象。

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

  **枚舉的高級(jí)應(yīng)用:

  **枚舉就相當(dāng)于一個(gè)類,其中也可以定義構(gòu)造方法、成員變量、普通方法和抽象方法。

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

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

  **帶構(gòu)造方法的枚舉

  構(gòu)造方法必須定義成私有的

  如果有多個(gè)構(gòu)造方法,該如何選擇哪個(gè)構(gòu)造方法?

  枚舉元素MON和MON()的效果一樣,都是調(diào)用默認(rèn)的構(gòu)造方法。

  **帶方法的枚舉

  定義枚舉TrafficLamp

  實(shí)現(xiàn)普通的next方法

  實(shí)現(xiàn)抽象的next方法:每個(gè)元素分別是由枚舉類的子類來生成的實(shí)例對(duì)象,

  這些子類采用類似內(nèi)部類的方式進(jìn)行定義。增加上表示時(shí)間的構(gòu)造方法

  **枚舉只有一個(gè)成員時(shí),就可以作為一種單例的實(shí)現(xiàn)方式。


【Java為什么要枚舉】相關(guān)文章:

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

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

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

為什么要學(xué)習(xí)PHP?11-30

C語言的枚舉類型知識(shí)07-22

為什么要考CPA08-14

為什么要重裝系統(tǒng)05-27

為什么要學(xué)英語寫作05-16

為什么要學(xué)網(wǎng)頁設(shè)計(jì)06-17

主站蜘蛛池模板: 齐齐哈尔市| 柞水县| 奈曼旗| 阳城县| 新干县| 洛浦县| 莲花县| 双江| 莆田市| 华坪县| 通州市| 海原县| 柳河县| 疏勒县| 阜新市| 敦煌市| 兴和县| 定兴县| 锡林郭勒盟| 保康县| 邢台市| 景谷| 四平市| 鸡泽县| 定边县| 左权县| 福贡县| 南木林县| 贡山| 修文县| 江川县| 红河县| 雷波县| 苍溪县| 抚宁县| 麦盖提县| 台中市| 莫力| 甘谷县| 平邑县| 辽源市|