@data注解的作用_Java中注解学习系列教程-2
在上一篇文章中,我們講解了:Java中注解的定義、JDK中內置注解、第三方注解。
本文是注解系列教程中的第二篇。來看看今天主要內容:
?
1:注解的分類
2:元注解說明
3:自定義注解聲明
一:注解的分類
?
注解根據運行機制、來源、功能來分:
1.1:按照運行機制來分,即時注解存在于程序的哪個階段
?
源碼注解(source):在源碼中存在的。
如:lombak的@data注解:
?
編譯注解(class):編譯期。既是在源碼和class中都有的。
JDK自帶的三個注解(@Override(重寫、覆蓋)、@Deprecated(廢棄的,過時的)、@Suppvisewarnings(壓縮警告))都是編譯期的注解
舉例: override
?
運行是注解(runtime):在運行階段任然起作用的,甚至會影響運行邏輯。
如:spring 的autowired注解:
?
按照來源來區分分為:JDK自帶的注解、第三方注解、自定義注解
如下圖:
?
1.3:按照功能來區分:
按照功能來區分,可以分為:元注解和非元注解。如下圖:
?
二:元注解說明
2.1:什么是元注解?
元注解是指注解的注解。JAVA中元注解主要包括以下四個:
?
2.2:@Target
target注解的作用:標注注解的作用域。如果有多個作用域用英文逗號進行分割
target注解作用域有哪些?
構造器、字段、局部變量、方法、包、參數、接口。具體如下圖:
?
?
2.3:@Retention
retention的作用:注解的生命周期。
注解生命周期有哪些呢?
只在源碼顯示的souce、編譯期的class、運行時候存在的runtime。如下圖:
生命周期大小:
2.4:@Inherited
inherite:標識性的元注解。標識當前的注解可以由子注解繼承
?
2.5:@Documented
documented:在生成文檔的時候,會被包含
?
三:自定義注解的寫法:
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented()
public @interface MyAnnotation1 {
public abstract String value();
}
聲明:本文是由凱哥(凱哥Java)發布的Java注解學習系列教程第二篇。未經允許,不得轉載
總結
以上是生活随笔為你收集整理的@data注解的作用_Java中注解学习系列教程-2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四阶龙格库塔法matlab解微分方程组
- 下一篇: BigeMap 下载器使用教程