java學習基礎第11章枚舉類型_第1頁
java學習基礎第11章枚舉類型_第2頁
java學習基礎第11章枚舉類型_第3頁
java學習基礎第11章枚舉類型_第4頁
java學習基礎第11章枚舉類型_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

----為你Java的夢想插上翅膀J2SE(JDK5以上)開發(fā)

講師:孫雷TEL:

----為你Java的夢想插上翅膀第11章枚舉類型常數(shù)設置與枚舉類型定義枚舉類型----為你Java的夢想插上翅膀常數(shù)設置可使用接口來定義操作時所需的共享常數(shù)publicinterfaceActionConstants{publicstaticfinalintTURN_LEFT=1;publicstaticfinalintTURN_RIGHT=2;publicstaticfinalintSHOT=3;}----為你Java的夢想插上翅膀常數(shù)設置publicvoidsomeMethod(){....doAction(ActionConstants.TURN_RIGHT);....}publicvoiddoAction(intaction){switch(action){caseActionConstants.TURN_LEFT:System.out.println("向左轉");break;caseActionConstants.TURN_RIGHT:System.out.println("向右轉");break;caseActionConstants.SHOOT:System.out.println("射擊");break;}}----為你Java的夢想插上翅膀常數(shù)設置使用類來聲明的話如果常數(shù)只是在類內(nèi)部使用的話,就聲明其為“private”或是“protected”就可以了聲明為類外可取用的常數(shù),通常是與類功能相依的常數(shù)publicclassCommandTool{publicstaticfinalStringADMIN="onlyfun.caterpillar.admin";publicstaticfinalStringDEVELOPER="onlyfun.caterpillar.developer";publicvoidsomeMethod(){//....}}----為你Java的夢想插上翅膀枚舉類型入門要定義枚舉類型是使用“enum”關鍵詞枚舉類型骨子里就是一個類,所以您編譯完成后,會產(chǎn)生一個Action.class檔案publicenumAction{TURN_LEFT,TURN_RIGHT,SHOOT}----為你Java的夢想插上翅膀枚舉類型入門publicclassEnumDemo{publicstaticvoidmain(String[]args){doAction(Action.TURN_RIGHT);}

publicstaticvoiddoAction(Actionaction){switch(action){caseTURN_LEFT:System.out.println("向左轉");break;caseTURN_RIGHT:System.out.println("向右轉");break;caseSHOOT:System.out.println("射擊");break;}}}----為你Java的夢想插上翅膀枚舉類型入門doAction()參數(shù)列的類型是Action如果對doAction()方法輸入其它類型的自變量,編譯程序會回報錯誤如果您在"switch"中加入了不屬于Action中枚舉的值,編譯程序也會回報錯誤----為你Java的夢想插上翅膀枚舉類型入門...publicstaticvoiddoAction(Actionaction){switch(action){caseTURN_LEFT:System.out.println("向左轉");break;caseTURN_RIGHT:System.out.println("向右轉");break;caseSHOOT:System.out.println("射擊");break;caseSTOP://Action中沒有枚舉這個值

System.out.println("停止");break;}}...

unqualifiedenumerationconstantnamerequiredcaseSTOP:----為你Java的夢想插上翅膀枚舉類型入門可以在一個獨立的類中聲明枚舉值,或是在某個類中聲明枚舉成員privateenumInnerAction{TURN_LEFT,TURN_RIGHT,SHOOT};publicstaticvoidmain(String[]args){doAction(InnerAction.TURN_RIGHT);}

publicstaticvoiddoAction(InnerActionaction){…}----為你Java的夢想插上翅膀枚舉類型入門枚舉類型本質(zhì)上還是個類上面列子的枚舉聲明方式有些像在聲明「內(nèi)部類」(Innerclass)編譯產(chǎn)生EnumDemo2$InnerAction.class與EnumDemo2$1.class----為你Java的夢想插上翅膀深入枚舉類型定義枚舉類型時其實就是在定義一個類只不過很多細節(jié)由編譯程序幫您補齊了某些程度上"enum"關鍵詞的作用就像是"class"或"interface"定義出來的類型是繼承自java.lang.Enum類每個被枚舉的成員其實就是定義的枚舉類型的一個實例。----為你Java的夢想插上翅膀深入枚舉類型枚舉的成員預設為“final”,所以無法改變常數(shù)名稱所設定的值也是“public”且“static”的成員,可以透過類名稱直接使用它們----為你Java的夢想插上翅膀深入枚舉類型Object繼承下來toString()方法被重新定義了,可以讓您直接取得枚舉值的字符串描述values()方法可以讓您取得所有的枚舉成員實例,并以數(shù)組方式傳回靜態(tài)valueOf()方法可以讓您將指定的字符串嘗試轉換為枚舉實例可以使用compareTo()方法來比較兩個枚舉對象在枚舉時的順序----為你Java的夢想插上翅膀深入枚舉類型定義枚舉類型時也可以定義方法publicenumDetailAction{TURN_LEFT,TURN_RIGHT,SHOOT;

publicStringgetDescription(){switch(this.ordinal()){case0:return"向左轉";case1:return"向右轉";case2:return"射擊";default:returnnull;}}}----為你Java的夢想插上翅膀深入枚舉類型可以為枚舉加上建構方法(Constructor)不得為公開的(public)建構方法避免粗心的程序人員直接對枚舉類型實例化publicenumDetailAction2{TURN_LEFT("向左轉"),TURN_RIGHT("向右轉"),SHOOT("射擊");privateStringdescription;//不公開的建構方法

privateDetailAction2(Stringdescription){this.description=description;}publicStringgetDescription(){returndescription;}}----為你Java的夢想插上翅膀深入枚舉類型在定義枚舉值時也可以一并實作接口publicinterfaceIDescription{publicStringgetDescription();}publicenumDetailAction3implementsIDescription{TURN_LEFT("向左轉"),TURN_RIGHT("向右轉"),SHOOT("射擊");

privateStringdescription;

//不公開的建構方法

pr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論