




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Annotation(注解)是JDK1.5之后增加的一個(gè)新特性,這種特性被稱為元數(shù)據(jù)特性,在JDK1.5Java源代碼中不但可以包含功能性的實(shí)現(xiàn)代碼,還可以添說(shuō)明,而是實(shí)現(xiàn)程序功能的重要組成部分。Java注解已經(jīng)在很多框架中得到了廣泛的使用,JDK注解的語(yǔ)法比較簡(jiǎn)單,除了@符號(hào)的使用之外,它基本與Java固有的語(yǔ)法一致。java.lang.annotation.Annotation接口是所有的AnnotationJDK1.5之后,Annotation類型,用戶直接使用即可。@DeprecatedAnnotation(過(guò)期、失效)@SuppressWarnings:安全警告的Annotation(忽略警告)Annotation9-1 @Override另外,Java還提供了四種元注解,它們專門負(fù)責(zé)新注解的創(chuàng)建。@Target(ElementTypeANNOTATION_TYPE)public@interfaceTarget{ElementType[]}ElemenetType 構(gòu)造器之前。 域之前(包括enum實(shí)例。 局部變量之前。 方法之前 注解類型之前 @Target(ElementTypeANNOTATION_TYPE)public@interfaceRetention{Retention}可選的Retention參數(shù)包括Retention.SOURCE表示此注解信息只能保留在程序的源文件中編譯之后Retention.CLASS表示此注解信息保留在程序源文件(*.java)和編譯之后的類文件(*.class)JVM之Retention.RUNTIME表示此注解信息保留在源文件(*.java、類文(*.class)JVM將在運(yùn)行期也保留注釋,因此可以通過(guò)反射機(jī)舉一個(gè)例子,如@OverrideRetentionSOURCE,編譯成功了就不要這一些告我們使用了哪個(gè)被Deprecated的方法,在執(zhí)行的時(shí)候也可以查出該方法是否被@Override如下就是@Override注解的:@Target(ElementTypeMETHOD)public@interfaceOverride{}@Override表示@Override注解可以用于什么地方,這里只能用于METHOD方法前面;@Rectetion(Rectetion.SOURCE)用來(lái)定義注解在哪一個(gè)級(jí)別可用,SOURCE表示源代碼中,即@Override會(huì)被編譯器丟棄。@Overrideclasspublicvoid}}classBextendsA{publicvoiddisp(int}}disp位置。如下就是@Deprecated注解的:public@interfaceDeprecated}表示 注解包含 文檔中@Retention(Retention.RUNTIME)表示在運(yùn)行期間也保留@Deprecated注解MyEclipseDateF3java.util.Date這個(gè)類的說(shuō)明時(shí),可以publicDate(intyear,intmonth,intdate){this(year,month,date,0,0,0);}這些語(yǔ)法的特點(diǎn)是在方法的前面加上了@Deprecated修飾之后該方多一條橫杠,@Deprecated使用舉例: classC{@Deprecated//修飾屬性privateStringnamezhangsan";@Deprecated//修飾方法publicintadd(inta,intreturna+}}@SuppressWarnings用于警告信息通常寫(xiě)完一個(gè)程序之后可能會(huì)有這樣那樣的警告信息,可以利用@SuppressWarnings來(lái)消除。MyEclipse中輸入@SuppressWarningsF3可以定位到@SuppressWarningsJava中的位置。如下就是@SuppressWarnings注解的@Target({TYPE,FIELD,METHOD,PARAMETER,CONSTRUCTOR,public@interfaceSuppressWarnings{String[]value();}})表示@SuppressWarnings可以用于類、接口、枚舉、域、方法、參數(shù)、構(gòu)造器、局部String[]value();數(shù)組屬性,表示可以列舉多項(xiàng)。publicclassTestpublicstaticvoidmain(String[]args){inti=}}")以同時(shí)多個(gè)警告信息,只需要以數(shù)組的形式出現(xiàn)即可。",",[public]@interface注解名稱{數(shù)據(jù)類型變量名稱();}如果定義注解時(shí)沒(méi)有指定@Retention元注解來(lái)說(shuō)明它的生命周期,那么該注解默認(rèn)的CLASS文件中。當(dāng)然,也可以由一個(gè)@Retetion的元注解指定它的 public@interfaceMyAnnotation{Stringvalue();}其中的@interface是一個(gè)關(guān)鍵字,用來(lái)一個(gè)注解。在設(shè)計(jì)annotation的時(shí)候必須把·成員以無(wú)參無(wú)拋出異常的方式,如“booleanvalue(Stringstr);”、“booleanvalue()throwsException;”等方式是的;·default為成員指定一個(gè)默認(rèn)值,如:“Stringlevel()default"LOW_LEVEL";”、“int[]high()default{2,3,4};”是合法的,當(dāng)然也可以不指定默認(rèn)值;解類型,以及上述類型的數(shù)組類型。如“ForumServicevalue();”、“Listfoo();”是的。(=,如value成員進(jìn)行賦值則也可不使用賦值號(hào),如果同時(shí)對(duì)多個(gè)成員進(jìn)行賦值,則必須使用賦值號(hào),如@DeclareParents(name="",age=25)。@注解名(1=1,2=2@注解名(1={1,2…},2=2,publicclassTestAnnotation{}如果成員是數(shù)組類型,可以通過(guò){}boolean數(shù)組的成員可以設(shè)置為{true,false,true}。下面是幾個(gè)注解使用的例子: ,synopsis="Enabletime-travel",engineer="Mr.@MyAnnotation("myAnnnotation")importjava.lang.annotation.*;public@interfaceMyAnno{String[]value();}importjava.lang.annotation.*;public@interfaceMyAnnotation{String[]name();intage()default25;MyAnno[]anno();}@MyAnnotation(name={"aaa","bbb"},anno={@MyAnno(value={"aaa","bbb"}),@MyAnno(value={"ccc","ddd","eee"})})publicclassTestAnnotationpubli
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康營(yíng)養(yǎng)品批發(fā)商的顧客忠誠(chéng)度建設(shè)考核試卷
- 貓咪科普知識(shí)
- 遼寧省營(yíng)口市、鞍山市部分學(xué)校2024-2025學(xué)年七年級(jí)下學(xué)期4月月考語(yǔ)文試題(含答案)
- 2025年商場(chǎng)店鋪?zhàn)赓U合同協(xié)議
- 2024-2025學(xué)年度廣東省深圳市鹽田高級(jí)中學(xué)高二第二學(xué)期3月月考(文化班)歷史試題(含答案)
- 藥品行業(yè)行政管理崗位
- 上海市回民中學(xué)2024-2025學(xué)年高一3月月考語(yǔ)文試題(原卷版+解析版)
- 培訓(xùn)服務(wù)在創(chuàng)新創(chuàng)業(yè)中的應(yīng)用與發(fā)展
- 2025獨(dú)家分銷合作協(xié)議合同
- 中國(guó)結(jié)藝課程簡(jiǎn)介
- 戶外趣味健步走活動(dòng)設(shè)計(jì)方案2024
- 2024年廣東省深圳市光明區(qū)建筑工務(wù)署第二批選聘特聘專干8人歷年高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 北師大版二年級(jí)下冊(cè)數(shù)學(xué)教案(含教學(xué)反思)
- 2024年新課標(biāo)高考真題河北生物試卷(原卷版)
- 2024年廣州高三語(yǔ)文一模作文題5個(gè)參考立意看“相處之道”(附范文及解析)
- 2024至2030年中國(guó)快速成型醫(yī)療器械市場(chǎng)現(xiàn)狀研究分析與發(fā)展前景預(yù)測(cè)報(bào)告
- 腫瘤??谱o(hù)士考試題 附有答案
- DL∕T 5342-2018 110kV~750kV架空輸電線路鐵塔組立施工工藝導(dǎo)則
- 工業(yè)機(jī)器人現(xiàn)場(chǎng)編程實(shí)訓(xùn)報(bào)告模板
- 2024醫(yī)療機(jī)構(gòu)重大事故隱患判定清單(試行)學(xué)習(xí)課件
- 一般行業(yè)生產(chǎn)經(jīng)營(yíng)單位主要負(fù)責(zé)人和安全管理人員安全培訓(xùn)考核規(guī)范
評(píng)論
0/150
提交評(píng)論