




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
李興華Java培訓(xùn)系列課程枚舉本章學(xué)習(xí)目標(biāo)理解可變參數(shù)方法的定義及使用;理解增強(qiáng)型for循環(huán)的特點(diǎn)及使用;理解靜態(tài)導(dǎo)入的操作;理解泛型的主要作用及實(shí)現(xiàn);理解多例設(shè)計(jì)模式和枚舉的操作關(guān)系;理解Annotation的定義及使用;理解接口中定義普通方法與靜態(tài)方法的作用;理解Lamda表達(dá)式的產(chǎn)生背景以及使用語法;理解方法引用的概念;掌握內(nèi)建函數(shù)式核心接口的使用。枚舉枚舉是JDK1.5之后增加的一個(gè)主要新功能,利用枚舉可以簡(jiǎn)化多例設(shè)計(jì)模式(一個(gè)類只能夠產(chǎn)生固定幾個(gè)實(shí)例化對(duì)象)的定義,同時(shí)在Java中的枚舉也可以像普通類那樣定義屬性、構(gòu)造方法、實(shí)現(xiàn)接口等認(rèn)識(shí)枚舉枚舉主要用于定義一組可以使用的類對(duì)象,這樣在使用時(shí)只能夠使用固定的幾個(gè)對(duì)象來進(jìn)行類的操作。這樣的操作形式在實(shí)際生活中非常的多:如果要表示日期的對(duì)象,那么只能夠有以下幾種定義:SUNDAY(星期日)、MONDAY(星期一)、TUESDAY(星期二)、WEDNESDAY(星期三)、THURSDAY(星期四)、FRIDAY(星期五)、SATURDAY(星期六);從JDK1.5開始,專門提供了一個(gè)新的關(guān)鍵字:enum,利用enum關(guān)鍵字就可以定義枚舉類型。范例:定義顏色的枚舉類packagecom.yootk.demo;enumColor{ //定義枚舉類
RED,GREEN,BLUE; //表示此處為實(shí)例化對(duì)象}public
classTestDemo{
public
static
voidmain(String[]args){ Colorred=Color.RED; //直接取得枚舉對(duì)象 System.out.println(red); }}程序執(zhí)行結(jié)果:REDEnum類枚舉只需要使用enum關(guān)鍵字就可以定義,但是嚴(yán)格來講,枚舉只是類結(jié)構(gòu)的加強(qiáng)而已。因?yàn)樵贘ava中使用enum定義的枚舉類就相當(dāng)于默認(rèn)繼承了java.lang.Enum類,此類定義如下:publicabstractclassEnum<EextendsEnum<E>>extendsObjectimplementsComparable<E>,SerializableEnum類定義的方法No.方法類型描述1protectedEnum(Stringname,intordinal)構(gòu)造傳遞枚舉對(duì)象的名字以及序號(hào)2publicfinalintordinal()普通取得當(dāng)前枚舉對(duì)象的序號(hào)3publicfinalStringname()普通取得當(dāng)前枚舉對(duì)象的名字packagecom.yootk.demo;enumColor{ //定義枚舉類
RED,GREEN,BLUE; //表示此處為實(shí)例化對(duì)象}public
classTestDemo{
public
static
voidmain(String[]args){ Colorred=Color.RED; //直接取得枚舉對(duì)象 System.out.println("枚舉對(duì)象序號(hào):"+red.ordinal()); System.out.println("枚舉對(duì)象名稱:"+red.name()); }}程序執(zhí)行結(jié)果:枚舉對(duì)象序號(hào):0枚舉對(duì)象名稱:RED范例:返回枚舉中的全部內(nèi)容packagecom.yootk.demo;enumColor{ //定義枚舉類
RED,GREEN,BLUE; //表示此處為實(shí)例化對(duì)象}public
classTestDemo{
public
static
voidmain(String[]args){
for(Colorc:Color.values()){ System.out.println(c.ordinal()+"-"+c.name()); } }}程序執(zhí)行結(jié)果:0-RED1-GREEN2-BLUE枚舉中定義其它結(jié)構(gòu)按照之前所理解,枚舉就屬于多例設(shè)計(jì)模式,那么既然是多例設(shè)計(jì)模式,對(duì)于類之中就肯定有多種組成,包括屬性、方法、構(gòu)造方法,在枚舉之中也同樣可以定義以上的內(nèi)容,但是此處需要注意兩點(diǎn)問題:枚舉之中定義的構(gòu)造方法不能夠使用public聲明,如果沒有無參構(gòu)造,請(qǐng)手工調(diào)用構(gòu)造傳遞參數(shù);枚舉對(duì)象必須要放在首行,隨后才可以定義屬性、構(gòu)造、普通方法等結(jié)構(gòu)。范例:擴(kuò)充枚舉功能packagecom.yootk.demo;enumColor{
RED("紅色"),GREEN("綠色"),BLUE("藍(lán)色"); //定義枚舉對(duì)象,必須寫在首行
privateStringtitle; //屬性
privateColor(Stringtitle){ //構(gòu)造方法,不能使用public聲明
this.title=title; }
publicStringtoString(){ //覆寫toString()方法
return
this.title; }}public
classTestDemo{
public
static
voidmain(String[]args){
for(Colorc:Color.values()){ //取得全部枚舉對(duì)象 System.out.print(c+"、"); //直接輸出對(duì)象調(diào)用toString() } }}程序執(zhí)行結(jié)果:紅色、綠色、藍(lán)色、范例:枚舉實(shí)現(xiàn)接口packagecom.yootk.demo;interfaceIMessage{
publicStringgetTitle();}enumColorimplementsIMessage{ //實(shí)現(xiàn)接口
RED("紅色"),GREEN("綠色"),BLUE("藍(lán)色"); //定義枚舉對(duì)象,都是IMessage接口實(shí)例
privateStringtitle; //屬性
privateColor(Stringtitle){ //構(gòu)造方法,不能使用public聲明
this.title=title; }
publicStringgetTitle(){ //覆寫方法
return
this.title; }
publicStringtoString(){ //覆寫toString()方法
return
this.title; }}public
classTestDemo{
public
static
voidmain(String[]args){ IMessagemsg=Color.RED; //實(shí)例化接口對(duì)象 System.out.println(msg.getTitle()); }}程序執(zhí)行結(jié)果:紅色范例:在switch語句上使用枚舉packagecom.yootk.demo;enumColor{
RED,GREEN,BLUE;}public
classTestDemo{
public
static
voidmain(String[]args){ Colorc=Color.RED;
switch(c){ //支持枚舉判斷
case
RED: //判斷枚舉內(nèi)容 System.out.println("這是紅色!");
break;
case
GREEN: //判斷枚舉內(nèi)容 System.out.println("這是綠色!");
break;
case
BLUE: //判斷枚舉內(nèi)容 System.out.println("這是藍(lán)色!");
break; } }}程序執(zhí)行結(jié)果:這是紅色!范例:在類設(shè)計(jì)結(jié)構(gòu)中使用枚舉packagecom.yootk.demo;enumSex{
MALE("男"),FEMALE("女");
privateStringtitle;
privateSex(Stringtitle){
this.title=title; }
publicStringtoString(){
return
this.title; }}classMember{
privateStringname;
private
int
age;
privateSexsex; //定義性別屬性
publicMember(Stringname,int
age,Sexsex){
this.name=name;
this.age=age;
this.sex=sex; }
publicStringtoString(){
return
"姓名:"+this.name+",年齡:"+this.age+",性別:"+this.sex
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CHES 96-2023河口監(jiān)測(cè)浮標(biāo)技術(shù)條件
- T/CHES 91-2023連續(xù)磁性陰離子交換水處理技術(shù)規(guī)范
- T/CEMIA 005-2018光伏單晶硅生長用石英坩堝生產(chǎn)規(guī)范
- T/CECS 10336-2023地面防滑性能分級(jí)及試驗(yàn)方法
- T/CECS 10173-2022皮芯結(jié)構(gòu)熱壓交聯(lián)高分子胎基濕鋪防水卷材
- T/CECS 10065-2019綠色建材評(píng)價(jià)采光系統(tǒng)
- T/CECA-G 0282-2024鋼結(jié)構(gòu)工業(yè)建筑碳排放計(jì)算標(biāo)準(zhǔn)
- T/CCSAS 036-2023非均相分離單元操作機(jī)械化、自動(dòng)化設(shè)計(jì)方案指南
- T/CCOA 48-2023高直鏈淀粉玉米
- T/CCMA 0114-2021履帶式升降工作平臺(tái)
- 國家開放大學(xué)《Web開發(fā)基礎(chǔ)》形考任務(wù)實(shí)驗(yàn)1-5參考答案
- 第6章職業(yè)腫瘤和職業(yè)性傳染病課件
- 國家開放大學(xué)《數(shù)學(xué)思想與方法》形考任務(wù)(1-10)案例設(shè)計(jì)與分析等試題答案解析
- 水生生物學(xué)課件 第1章 原生動(dòng)物
- 陜西省漢中市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- FIDIC銀皮書(中英文對(duì)照)
- 癲癇護(hù)理查房.ppt課件
- 軍事地形學(xué)地形圖基本知識(shí)
- 固體火箭發(fā)動(dòng)機(jī)制造工藝
- 試卷密封線模板
- 廣告牌鋼結(jié)構(gòu)設(shè)計(jì)計(jì)算書(共39頁).doc
評(píng)論
0/150
提交評(píng)論