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