標籤:
Retention(保留)註解說明,這種類型的註解會被保留到那個階段. 有三個值:1.RetentionPolicy.SOURCE —— 這種類型的Annotations只在原始碼層級保留,編譯時間就會被忽略2.RetentionPolicy.CLASS —— 這種類型的Annotations編譯時間被保留,在class檔案中存在,但JVM將會忽略3.RetentionPolicy.RUNTIME —— 這種類型的Annotations將被JVM保留,所以他們能在運行時被JVM或其他使用反射機制的代碼所讀取和使用.
允許子類繼承父類註解,如@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Inherited public @interface TypeParent { public String say() default ""; } /////////////////////////////////////////@TypeParentpublic class Typechild{ public String move(){} public String eat(){}}
上面中Typechild加了@TypeParent註解,那麼他會繼承自TypeParent,當然會擁有say()方法。
@Target(ElementType.TYPE) //介面、類、枚舉、註解@Target(ElementType.FIELD) //欄位、枚舉的常量@Target(ElementType.METHOD) //方法@Target(ElementType.PARAMETER) //方法參數@Target(ElementType.CONSTRUCTOR) //建構函式@Target(ElementType.LOCAL_VARIABLE)//局部變數@Target(ElementType.ANNOTATION_TYPE)//註解@Target(ElementType.PACKAGE) ///包
表示該對象能出現在javadoc中,運行命令後。
java 開發過程,各種各樣的註解