1、註解
一、什麼是註解
一、Annotation是Java5開始引入的新特徵,中文名稱叫
註解
二、它提供了一種安全的相似註釋的機制,用來將任何的信息或元數據(metadata)與程序元素(類,方法,成員變量)進行關聯
三、爲程序的元素(類,方法,成員變量)加上更直觀更明瞭的說明,這些說明信息是與程序的業務邏輯無關,而且供指定的工具或框架使用
四、Annontation像一種修飾符同樣,應用於包,類型,構造方法,方法,成員變量,參數及本地變量的聲明語句中
五、Java註解是附加在代碼中的一些元信息,用於一些工具在編譯,運行時進行解析和使用,起到說明配置的功能
六、註解不會也不能影響代碼的實際邏輯,僅僅起到輔助性的做用。包含在java.lang.annotation包中
二、註解的做用
一、生成文檔,這是最多見的,也是java最先提供的註解,經常使用的有@param,@return等
二、跟蹤代碼依賴性,實現替代配置文件的功能
三、在編譯時進行格式檢查,如@override放在方法前,若是你這個方法並非覆蓋了超類方法,則編譯時就能檢查出
2、自定義註解
一、元註解
package com.msbline.annotation;
import java.lang.annotation.*;
public class MetaAnnotation {
@MyAnnotation()
public void test(){
}
}
//target用來聲明註解的使用範圍
//Retention用來聲明註解在何時生效,通常都是運行時
//Documented表示是否顯示在javadoc文檔裏面
//Inherited表示當前註解是否可以被繼承
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@interface MyAnnotation{
//定義的方式看起來像是方法,其實是在使用註解的時候填寫的參數名稱,默認的名稱是value
//自定義註解中填寫的全部方法都須要在使用註解的時候,添加值,很麻煩,所以包含默認值
String name() default "zs";
int age() default 12;
int id() default 1;
String[] likes() default {"1","2"};
}