- 怎樣去編寫一個自定義的註解
- 怎樣去使用註解
- 怎樣去解析註解-----使用反射知識
1.編寫一個註解
(1)關鍵字:@interface 在interface前加個@就行了
(2)註解的屬性: -------> 語法:類型 名稱();如String value()
注意:如果屬性的名字是value,並且註解的屬性值有一個 那麼在使用註解時可以省略value
(3)加2個元註解,@Retention 註解可見範圍, @Target 註解使用範圍,詳細下文
註解屬性類型只能是以下幾種
基本類型
2.String
3.枚舉類型
4.註解類型
5.Class類型
6.以上類型的一維數組類型
如何選擇元註解
介入一個概念:元註解:代表修飾註解的註解,作用:限制定義的註解的特性
@Retention 默認SOURCE
SOURCE: 註解在源碼級別可見
CLASS:註解在字節碼文件級別可見
RUNTIME:註解在整個運行階段都可見
@Target 默認所有類型
代表註解修飾的範圍:類上使用,方法上使用,字段上使用
FIELD:字段上可用此註解
METHOD:方法上可以用此註解
TYPE:類/接口上可以使用此註解
注意:要想解析使用了註解的類 , 那麼該註解的Retention必須設置成Runtime
2.使用註解
在類/方法/字段 上面是@XXX
3.解析註解
關於註解解析的實質:從註解中解析出屬性值
字節碼對象存在於獲得註解相關的方法
isAnnotationPresent(
Class<? extends
Annotation> annotationClass)
:
判斷該字節碼對象身上是否使用該註解了
getAnnotation(
Class<A> annotationClass)
:獲得該字節碼對象身上的註解對象