java內置注解:
@Override(重寫方法):被用於標注方法,用於說明所標注的方法是重寫父類的方法
@Deprecated(過時方法):用於說明所標注元素,因存在安全問題或有更好選擇而不鼓勵使用,如果強行使用,則編譯器會發出警告
@SuppressWarnings(消除警告):用於取消編輯器所顯示的警告,有如下屬性值
——deprecation:使用已被@Deprecated標注的程序元素
Date date = new Date(); //消除警報 @SuppressWarnings("deprecation") int hour = date.getHours();//該方法以被棄用 System.out.println(hour);
——unused:程序含有未被使用的元素
——serial:在可序列化的類上缺少serialVersionUID定義
自定義注解:
注釋屬性默認沒有默認值,在后面加default設置默認值
public @interface Service { String value() default ""; int version() default 0; }
元注解:java提供了四個用於修飾自定義注解的元注解
@Target:用於指定被修飾的自定義注解只能用於修飾程序中哪些元素,有四個常用屬性
@Retention:用於指定被修飾的自定義注解可以保留多久,有三個常用屬性
@Documented:執行javadoc命令時,被該元注解修飾的自定義注解也會生成在文檔中
@Inherited:如果父類所使用的注解有此修飾,則子類可以繼承該注解,否則不能
//TYPE用於類、接口或者枚舉聲明 //FIELD用於全局屬性 //METHOD用於方法 //PARAMETER用於方法的參數 @Target({ElementType.TYPE,ElementType.FIELD})//數組時,一個值不用寫{} //SOURCE源碼 //CLASS編譯器 //RUNTIME運行 @Retention(RetentionPolicy.RUNTIME) //生成的文檔是否含有此注釋 @Documented //子類會繼承此類上的注釋(不繼承類里的) @Inherited public @interface Service { String value() default ""; int version() default 0; }