-
這章節講的不是很詳細
查看全部 -
講解的還行吧
查看全部 -
mark查看全部
-
沒有反射,注解也就是個標識的作用,而起不到程序邏輯的作用
查看全部 -
自定義注解 使用@interface聲明
成員以無參無異常聲明,可以用default為成員指定一個默認值
成員類型是受限的,合法的類型包括原始類型及String,Class,Annotation,Enumeration
如果注解只有一個成員,則成員名必須取名為value(),在使用時可以忽略成員明和賦值號
注解類可以沒有成員,沒有成員的注解稱為標識注解
查看全部 -
自定義注解語法要求
查看全部 -
Two classifications of annotations
查看全部 -
The classification of annotations
查看全部 -
Java中的常見注解
查看全部 -
自定義注解的使用
@<注解名>(<成員名1>=<成員值1>,<成員名1>=<成員值1>,...)
示例:
@Description(desc="I?am?eyeColor",author="Mooc?boy,age=18) public?String?eyeColor(){ ????return?"red"; }
查看全部 -
自定義注解
@Target({ElementType.METHOD,ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Documented public?@interface?Description?{??//使用關鍵字@interface定義注解 ????String?desc();???//成員以無參無異常方式聲明 ????String?author(); ????int?age()?default?18;???//用default為成員指定默認值 }
注解的成員類型包括:原始類型、String、Class、Annotation、Enumeration
如果注解只有一個成員,則成員名必須為 value(),在使用是可以省略成員名和賦值號(=)
注解可以沒有成員,沒有成員的注解成為標識注解
元注解
@Target({ElementType.METHOD,ElementType.TYPE})
聲明自定義注解的作用域,參數有:CONSTRUCTOR(構造方法)、FIELD(字段聲明)、LOCAL_VARIABLE(局部變量聲明)、METHOD(方法聲明)、PACKAGE(包聲明)、PARAMETER(參數聲明)、TYPE(類,接口)
@Retention(RetentionPolicy.RUNTIME)
注解的聲明周期,參數有SOURCE(只在源碼中顯示,編譯時丟棄)、CLASS(編譯時會記錄到class中,運行時忽略)、RUNTIME(運行時存在,可以通過反射讀?。?br />
@Inherited
表示該注解對class使用時,可以被其子類繼承
@Documented
表示生成javadoc是會包含注解的信息
查看全部 -
注解的分類
按照運行機制分類:
源碼注解: 只在源碼中存在,編譯成.class文件就不存在了。
編譯時注解: 源碼和.class文件中都存在。
運行時注解: 在運行時還會起作用,甚至影響運行邏輯。
按照來源分類:
來自JDK的注解
來自第三方的注解
自定義的注解
除上述之外還有“元注解”:給注解進行注解。
查看全部 -
元注解元注解
查看全部 -
常見的注解
查看全部 -
java常見注解
查看全部
舉報