全面掌握java枚舉類型

全面掌握java枚舉類型

ID:14329166

大小:43.50 KB

頁數:3頁

時間:2018-07-28

全面掌握java枚舉類型_第1頁
全面掌握java枚舉類型_第2頁
全面掌握java枚舉類型_第3頁
資源描述:

《全面掌握java枚舉類型》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、枚舉類型是JDK5.0的新特征。Sun引進了一個全新的關鍵字enum來定義一個枚舉類。下面就是一個典型枚舉類型的定義:Java代碼1.public?enum?Color{??2.????RED,BLUE,BLACK,YELLOW,GREEN??3.}??publicenumColor{RED,BLUE,BLACK,YELLOW,GREEN}顯然,enum很像特殊的class,實際上enum聲明定義的類型就是一個類。而這些類都是類庫中Enum類的子類(java.lang.Enum)。它們繼承了這個Enum中的許多有用的方法。下面我們就詳細介紹enum定義的枚舉類

2、的特征及其用法。(后面均用Color舉例)1、Color枚舉類是特殊的class,其枚舉值(RED,BLUE...)是Color的類對象(類實例):??????????????????Colorc=Color.RED;???而且這些枚舉值都是publicstaticfinal的,也就是我們經常所定義的常量方式,因此枚舉類中的枚舉值最好全部大寫。2、即然枚舉類是class,當然在枚舉類型中有構造器,方法和數據域。但是,枚舉類的構造器有很大的不同:?????(1)構造器只是在構造枚舉值的時候被調用。Java代碼1.enum?Color{??2.?????????????

3、???RED(255,0,0),BLUE(0,0,255),BLACK(0,0,0),YELLOW(255,255,0),GREEN(0,255,0);??3.????????????????//構造枚舉值,比如RED(255,0,0)??4.????????????????private?Color(int?rv,int?gv,int?bv){??5.?????????????????this.redValue=rv;??6.?????????????????this.greenValue=gv;??7.?????????????????this.blueValu

4、e=bv;??8.????????????????}??9.??10.????????????????public?String?toString(){??//自定義的public方法??11.????????????????return?super.toString()+"("+redValue+","+greenValue+","+blueValue+")";??12.????????????????}??13.?????1.????????????????private?int?redValue;??//自定義數據域,private為了封裝。??2.?????

5、???????????private?int?greenValue;??3.????????????????private?int?blueValue;??4.?}??enumColor{RED(255,0,0),BLUE(0,0,255),BLACK(0,0,0),YELLOW(255,255,0),GREEN(0,255,0);//構造枚舉值,比如RED(255,0,0)privateColor(intrv,intgv,intbv){this.redValue=rv;this.greenValue=gv;this.blueValue=bv;}publicStri

6、ngtoString(){//自定義的public方法returnsuper.toString()+"("+redValue+","+greenValue+","+blueValue+")";}privateintredValue;//自定義數據域,private為了封裝。privateintgreenValue;privateintblueValue;}?????(2)構造器只能私有private,絕對不允許有public構造器。這樣可以保證外部代碼無法新構造枚舉類的實例。這也是完全符合情理的,因為我們知道枚舉值是publicstaticfinal的常量而已。但枚

7、舉類的方法和數據域可以允許外部訪問。Java代碼1.public?static?void?main(String?args[])??2.{??3.????????//?Color?colors=new?Color(100,200,300);??//wrong??4.???????????Color?color=Color.RED;??5.???????????System.out.println(color);??//?調用了toString()方法??6.}?????publicstaticvoidmain(Stringargs[]){//Colorcolor

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。