亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

講解java枚舉實(shí)現(xiàn)單例模式 java枚舉的使用是什么


講解java枚舉實(shí)現(xiàn)單例模式 java枚舉的使用是什么

文章插圖
一、枚舉類類的對(duì)象只有有限個(gè), 確定的. 我們稱此類為枚舉類.
說(shuō)明:
類的對(duì)象只有有限個(gè),確定的 。如:星期:Monday(星期一)、……、Sunday(星期天)性別:Man(男)、Woman(女) ? 季節(jié):Spring(春節(jié))……Winter(冬天)支付方式:Cash(現(xiàn)金)、WeChatPay(微信)、Alipay(支付寶)、BankCard(銀 行卡)、CreditCard(信用卡)就職狀態(tài):Busy、Free、Vocation、Dimission訂單狀態(tài):Nonpayment(未付款)、Paid(已付款)、Delivered(已發(fā)貨)、 Return(退貨)、Checked(已確認(rèn))Fulfilled(已配貨)線程狀態(tài):創(chuàng)建、就緒、運(yùn)行、阻塞、死亡2.當(dāng)需要定義一組常量時(shí),強(qiáng)烈建議使用枚舉類 。
3.若枚舉只有一個(gè)對(duì)象, 則可以作為一種單例模式的實(shí)現(xiàn)方式 。
枚舉類的實(shí)現(xiàn):
JDK1.5之前需要自定義枚舉類 。JDK 1.5 新增的 enum 關(guān)鍵字用于定義枚舉類 。枚舉類的屬性:
枚舉類對(duì)象的屬性不應(yīng)允許被改動(dòng), 所以應(yīng)該使用 private final 修飾 。枚舉類的使用 private final 修飾的屬性應(yīng)該在構(gòu)造器中為其賦值 。若枚舉類顯式地定義了帶參數(shù)的構(gòu)造器, 則在列出枚舉值時(shí)也必須對(duì)應(yīng)的 傳入?yún)?shù) 。① 自定義枚舉類#
通過(guò)自己寫(xiě)一個(gè)自定義的類來(lái)實(shí)現(xiàn)自定義枚舉類 。
自定義枚舉類的實(shí)現(xiàn):
私有化類的構(gòu)造器,保證不能在類的外部創(chuàng)建其對(duì)象 。在類的內(nèi)部創(chuàng)建枚舉類的實(shí)例 。聲明為:public static final 。對(duì)象如果有實(shí)例變量,應(yīng)該聲明為private final,并在構(gòu)造器中初始化 。Demo:
② enum關(guān)鍵字定義枚舉類通過(guò)使用enum關(guān)鍵字,和一些簡(jiǎn)便的規(guī)則,更方便枚舉類的創(chuàng)建
說(shuō)明:
enum 枚舉類是繼承 java.lang.Enum 類的,所以其中如果不重寫(xiě) toString 使用的是 java.lang.Enum 中的 toString,不會(huì)輸出內(nèi)存地址,而是會(huì)打印對(duì)象名enum 枚舉類的實(shí)現(xiàn):
使用 enum 聲明類為枚舉類 。在枚舉類的開(kāi)頭首先定義枚舉類中所需要的對(duì)象 。枚舉類對(duì)實(shí)例化枚舉類的對(duì)象做了簡(jiǎn)化只需要使用 對(duì)象名(參數(shù)···) 就可以完成實(shí)例化,如:PRING(“春天”, “春暖花開(kāi)”), WINTER(“冬天”, “冰天雪地”);多個(gè)對(duì)象用 “,” 隔開(kāi),最后一個(gè)以 “;” 結(jié)尾如果沒(méi)有屬性,可以去掉括號(hào),如:PRING, WINTER;其余規(guī)則均與自定義枚舉類相同 。Demo:
③ enum 枚舉類的方法
values() :返回枚舉類型的對(duì)象數(shù)組 。該方法可以很方便地遍歷所有的 枚舉值 。valueOf(String str) :可以把一個(gè)字符串轉(zhuǎn)為對(duì)應(yīng)的枚舉類對(duì)象 。要求字符 串必須是枚舉類對(duì)象的“名字” 。如不是,會(huì)有運(yùn)行時(shí)異常:IllegalArgumentException 。toString():返回當(dāng)前枚舉類對(duì)象常量的名稱 。Demo:(枚舉類使用上面代碼的枚舉類Season1)
④ enum 枚舉類實(shí)現(xiàn)接口enum 枚舉類可以像正常類那樣實(shí)現(xiàn)接口并重寫(xiě)接口中的方法
但是 enum 枚舉類還有其獨(dú)特的實(shí)現(xiàn)接口的方法, 接口類中的每個(gè)對(duì)象都可以獨(dú)自重寫(xiě)實(shí)現(xiàn)接口的方法
enum 對(duì)象特有的實(shí)現(xiàn)接口的方法 :
對(duì)象名(構(gòu)造器參數(shù)){ 需要重寫(xiě)的方法 }, 如:Demo:
二、注解從 JDK 5.0 開(kāi)始, Java 增加了對(duì)元數(shù)據(jù)(MetaData) 的支持, 也就是 Annotation(注解)Annotation 其實(shí)就是代碼里的特殊標(biāo)記, 這些標(biāo)記可以在編譯, 類加 載, 運(yùn)行時(shí)被讀取, 并執(zhí)行相應(yīng)的處理 。通過(guò)使用 Annotation, 程序員 可以在不改變?cè)羞壿嫷那闆r下, 在源文件中嵌入一些補(bǔ)充信息 。代碼分析工具、開(kāi)發(fā)工具和部署工具可以通過(guò)這些補(bǔ)充信息進(jìn)行驗(yàn)證 或者進(jìn)行部署 。Annotation 可以像修飾符一樣被使用, 可用于修飾包,類, 構(gòu)造器, 方 法, 成員變量, 參數(shù), 局部變量的聲明, 這些信息被保存在 Annotation 的 “name=value” 對(duì)中 。在JavaSE中,注解的使用目的比較簡(jiǎn)單,例如標(biāo)記過(guò)時(shí)的功能,忽略警告等 。在JavaEE/Android中注解占據(jù)了更重要的角色,例如 用來(lái)配置應(yīng)用程序的任何切面,代替JavaEE舊版中所遺留的繁冗 代碼和XML配置等 。未來(lái)的開(kāi)發(fā)模式都是基于注解的,JPA是基于注解的,Spring2.5以 上都是基于注解的,Hibernate3.x以后也是基于注解的,現(xiàn)在的 Struts2有一部分也是基于注解的了,注解是一種趨勢(shì),一定程度上 可以說(shuō):框架 = 注解 + 反射 + 設(shè)計(jì)模式 。使用 Annotation 時(shí)要在其前面增加 @ 符號(hào), 并把該 Annotation 當(dāng)成 一個(gè)修飾符使用 。用于修飾它支持的程序元素① 生成文檔相關(guān)注解


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問(wèn)題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!

「愛(ài)刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助: