public @interface xxx 定義註解java
@interface 不是interface,是註解類
是jdk1.5以後加入的,java沒有給它新的關鍵字,因此就用@interface 這麼個東西表示了
這個註解類,就是定義一個可用的註解,包括這個註解用於什麼地方,是類,仍是方法,仍是property,仍是方法入參等等
@Retention(RetentionPolicy.RUNTIME) // 註解會在class字節碼文件中存在,在運行時能夠經過反射獲取到
@Target:註解的做用目標
@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) ///包