-
成員類型受限制查看全部
-
自定義注解的語法要求查看全部
-
注解的語法要求查看全部
-
注解的分類查看全部
-
@Deprecated 用于修飾已經(jīng)過時的方法; @suppressWarings("deprecation") 用于通知java編譯器忽略特定的編譯警告。 注解分類: 一:按運行機制 1、源碼注解:只在源碼中存在,編譯時不存在 2、編譯時注解:注解在源碼和.class編譯時都存在 3、運行時注解:在運行階段存在起作用 二:按照來源來分: 1、來自JDK的注解 2、來自第三方的注解 3、自定義注解 元注解:給注解進行注解 自定義注解: 1、使用@interface關(guān)鍵字定義注解: (1)成員以無參數(shù)無異常的的方式聲明 (2)可以用default為成員制定一個默認值 (3)成員類型是受限制的,合法的類型包含原始基本類型及String、Class、Annotation、Enumeration (4)如果注解只有一個成員,則成員名必須取為value();在使用時可以忽略成員名和賦值號(=) (5)注解類可以沒有成員,沒有成員的注解成為標識注解 自定義注解的元注解: 1,@Target---作用域(constructor(構(gòu)造方法聲明),field(字段聲明),local_variable(局部變量聲明),method(方法聲明),package(包聲明),parameter(參數(shù)聲明),type(類,接口聲明)) 2,@Retention---生命周期(source:只在源碼顯示,編譯時會丟棄。class:編譯時會記錄到class中,運行時忽略。runtime:運行時存在,可以通過反射讀?。?用@Retention(RetentionPolicy.CLASS)修飾的注解,表示注解的信息被保留在class文件(字節(jié)碼文件)中,但在程序運行時不會被虛擬機讀取; 用@Retention(RetentionPolicy.SOURCE )修飾的注解,表示注解的信息會被編譯器拋棄,不會留在class文件中,注解的信息只會留在源文件中; 用@Retention(RetentionPolicy.RUNTIME )修飾的注解,表示注解的信息被保留在class文件(字節(jié)碼文件)中,當程序編譯時,會被虛擬機保留,在運行時,用反射的方式讀取。 3,Inherited---標識注解(允許子類繼承) 4,Documented---生成Javadoc查看全部
-
@Target 注解的作用域。 @Retention 生命周期。 @Inherited 允許子類繼承 @Documented 生成javadoc時會包含注解 @Target({ElementType.METHOD,}) //作用域 @Retention(RetentionPolicy.RUNTIME) //生命周期 @Inherited //標識注解(允許子類繼承) @Documented //生成javadoc會生成注解信息 public @interface Description { //1.類型受限制,包括基本類型及String、Class、Annotation、Enumeration //2.若只有一個成員,則名稱必須為value(),使用時可以忽略成員名和賦值號(=) //3.注解類可以沒有成員,稱為標識注解 //4成員無參且無異常聲明 String desc(); String author(); //5可指定默認值 int age() default 18; } public @interface Description{ String desc; String author; int age default 18; } [ 收起全文 ]查看全部
-
在做例子中發(fā)現(xiàn)接口實現(xiàn)類中不會自動添加@Override注解,手動加入@Override注解也會報錯。 上網(wǎng)查詢可知,jdk1.5之前不支持接口實現(xiàn)類@Override注解,更改jdk7也不好使。后來又查到說是需要選擇Java編譯的版本 右鍵項目->Java Compiler->Compiler compliance level->1.7 即可解決。查看全部
-
JDK自帶注解: @Override 表示當前方法覆蓋了父類的方法 @Deprecation 表示方法已經(jīng)過時 @Suppvisewarnings 表示關(guān)閉一些警告信息(通知java編譯器忽略特定的編譯警告) @SuppressWarnings,其參數(shù)有: deprecation,使用了過時的類或方法時的警告 unchecked,執(zhí)行了未檢查的轉(zhuǎn)換時的警告 fallthrough,當 Switch 程序塊直接通往下一種情況而沒有 Break 時的警告 path,在類路徑、源文件路徑等中有不存在的路徑時的警告 serial,當在可序列化的類上缺少 serialVersionUID 定義時的警告 finally ,任何 finally 子句不能正常完成時的警告 all,關(guān)于以上所有情況的警告查看全部
-
注解中:@Target({ElementType.TYPE}),ElementType.TYPE表示作用域是類或接口;查看全部
-
注解總結(jié)查看全部
-
@Deprecated 用于修飾已經(jīng)過時的方法; @suppressWarings("deprecation") 用于通知java編譯器忽略特定的編譯警告。 注解分類: 一:按運行機制 1、源碼注解:只在源碼中存在,編譯時不存在 2、編譯時注解:注解在源碼和.class編譯時都存在 3、運行時注解:在運行階段存在起作用 二:按照來源來分: 1、來自JDK的注解 2、來自第三方的注解 3、自定義注解 元注解:給注解進行注解 自定義注解: 1、使用@interface關(guān)鍵字定義注解: (1)成員以無參數(shù)無異常的的方式聲明 (2)可以用default為成員制定一個默認值 (3)成員類型是受限制的,合法的類型包含原始基本類型及String、Class、Annotation、Enumeration (4)如果注解只有一個成員,則成員名必須取為value();在使用時可以忽略成員名和賦值號(=) (5)注解類可以沒有成員,沒有成員的注解成為標識注解 自定義注解的元注解: 1,@Target---作用域(constructor(構(gòu)造方法聲明),field(字段聲明),local_variable(局部變量聲明),method(方法聲明),package(包聲明),parameter(參數(shù)聲明),type(類,接口聲明)) 2,@Retention---生命周期(source:只在源碼顯示,編譯時會丟棄。class:編譯時會記錄到class中,運行時忽略。runtime:運行時存在,可以通過反射讀?。?用@Retention(RetentionPolicy.CLASS)修飾的注解,表示注解的信息被保留在class文件(字節(jié)碼文件)中當程序編譯時,但不會被虛擬機讀取在運行的時候; 用@Retention(RetentionPolicy.SOURCE )修飾的注解,表示注解的信息會被編譯器拋棄,不會留在class文件中,注解的信息只會留在源文件中; 用@Retention(RetentionPolicy.RUNTIME )修飾的注解,表示注解的信息被保留在class文件(字節(jié)碼文件)中當程序編譯時,會被虛擬機保留在運行時, 所以他們可以用反射的方式讀取。 3,Inherited---標識注解(允許子類繼承) 4,Documented---生成Javadoc查看全部
-
解析注解: 概念:通過反射獲取類、函數(shù)或成員上的運行時注解信息,從而實現(xiàn)動態(tài)控制程序運行的邏輯。 @Inherited(子類是否可繼承) 對接口interface、方法繼承沒有作用,對類才有效。 通過反射回去類,函數(shù)或成員以上的運行時的注解信息從而實現(xiàn)動態(tài)控制程序運行的邏輯查看全部
-
//使用方法:@注解名(<成員1>=<成員值1>,<成員2>=<成員值2>,...) @Description(desc="desc test",author="author test",age=18) public String eyeColor(){ return "red"; }查看全部
-
使用自定義注解查看全部
-
@Target 注解的作用域。 @Retention 生命周期。 @Inherited 允許子類繼承 @Documented 生成javadoc時會包含注解 @Target({ElementType.METHOD,}) //作用域 @Retention(RetentionPolicy.RUNTIME) //生命周期 @Inherited //標識注解(允許子類繼承) @Documented //生成javadoc會生成注解信息 public @interface Description { //1.類型受限制,包括基本類型及String、Class、Annotation、Enumeration //2.若只有一個成員,則名稱必須為value(),使用時可以忽略成員名和賦值號(=) //3.注解類可以沒有成員,稱為標識注解 //4成員無參且無異常聲明 String desc(); String author(); //5可指定默認值 int age() default 18; } public @interface Description{ String desc; String author; int age default 18; }查看全部
舉報
0/150
提交
取消