java枚舉及注解

java枚舉及注解

ID:37857268

大小:43.50 KB

頁數(shù):8頁

時間:2019-06-01

java枚舉及注解_第1頁
java枚舉及注解_第2頁
java枚舉及注解_第3頁
java枚舉及注解_第4頁
java枚舉及注解_第5頁
資源描述:

《java枚舉及注解》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、java枚舉java注解java新特性可變參數(shù)java枚舉:在類的對象有限的情況下,可是使用枚舉類的方式創(chuàng)建有限個類的對象。單例模式是一種特殊的枚舉類。自定義枚舉類:1,私有化構(gòu)造器2,在類的內(nèi)部創(chuàng)建若干個類的對象,publicstaticfinal3,在類中的其他額外屬性,定義為privatefinal,可以額外的再聲明getter()方法。枚舉類的使用:2.使用enum關(guān)鍵字定義枚舉類*>常用的兩個方法:valueOf()values()*>枚舉類實現(xiàn)接口:①讓類實現(xiàn)接口以后,重寫接口中的抽象方法②讓類中的對象分

2、別重寫接口中的抽象方法必須在枚舉類的第一行聲明枚舉類對象。 枚舉類與普通類的區(qū)別: 使用enum定義的枚舉類默認繼承了java.lang.Enum類 枚舉類的構(gòu)造器只能使用private訪問控制符 所有實例必須在枚舉類中首行顯式列出(,分隔;結(jié)尾).列出的實例系統(tǒng)會自動添加publicstaticfinal修飾 JDK1.5中可以在switch表達式中使用Enum定義的枚舉類的對象作為表達式,case子句可以直接使用枚舉值的名字,無需添加枚舉類作為限定 實例:interfaceInfo{publicvoidshow(

3、);}enumPerson01implementsInfo{MAN("man",true){publicvoidshow(){System.out.println(getType()+"hasmustache"+isMustache());}},WOMAN("woman",false){@Overridepublicvoidshow(){System.out.println(getType()+"hasmustache"+isMustache());}};privatefinalStringtype;privatef

4、inalbooleanisMustache;privatePerson01(Stringtype,booleanisMustache){this.type=type;this.isMustache=isMustache;}}枚舉類的實例對象MAN與WOMEN必須放在枚舉類首行各式:instanceName1(構(gòu)造器參數(shù)),instanceName2(構(gòu)造器參數(shù))...;另外枚舉類可以繼承接口,并在枚舉實例中實現(xiàn)接口中的抽象方法。枚舉類的常用方法:values()返回枚舉類型的對象數(shù)組。該方法可以很方便地遍歷所有的枚舉

5、值。 valueOf(Stringstr)可以把一個字符串轉(zhuǎn)為對應的枚舉類對象。要求字符串必須是枚舉類對象的“名字”。如不是,會有運行時異常。否則,報java.lang.IllegalArgumentException異常枚舉類的對象可以分別實現(xiàn)接口的抽象方法。java注解Annotation主要內(nèi)容 1JDK內(nèi)置的三個常用注解2如何自定義一個注解3元注解:對現(xiàn)有注解進行注解的一種注解4通過反射機制或許類的注解信息(反射的時候深入)JDK內(nèi)置的基本注解類型(3個) @Override,限定重寫父類方法,該注釋只能用于

6、方法@Deprecated,用于表示某個程序元素(類,方法等)已過時@SuppressWarnings,抑制編譯器警告,該注解需要參數(shù)自定義注解類型 定義新的Annotation類型使用@interface關(guān)鍵字 Annotation的成員變量在Annotation定義中以無參數(shù)方法的形式來聲明.其方法名與返回值定義了該成員的名字與類型. 可以在定義Annotation的成員變量時為其指定初始值,指定成員變量的初始值可使用default關(guān)鍵字 public@interfaceMyAnnotation{ Stringn

7、ame()default“atguigu"; } 沒有成員定義的Annotation稱為標記;包含成員變量的Annotation稱為元數(shù)據(jù)Annotation 對注解進行注解(4個) 5.0提供了專門在注解上的注解類型,分別是: @Retention:指定該annotation保留的時間@Rentention包含一個RetentionPolicy類型的成員變量,使用@Rentention時必須為該value成員變量指定值:RetentionPolicy.SOURCE:編譯器直接丟棄這種策略的注釋 RetentionP

8、olicy.CLASS:編譯器將把注釋記錄在class文件中.當運行Java程序時,JVM不會保留注解。這是默認值 RetentionPolicy.RUNTIME:編譯器將把注釋記錄在class文件中.當運行Java程序時,JVM會保留注釋.程序可以通過反射獲取該注釋 @Target:用于修飾Annotation定義,用于指定被修飾的Annot

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

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

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