java注解——內置注解和四種元注解


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;
    
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM