Java程序除了代碼和註釋,還有@註解

Java 註解(Annotation)
  • 又稱 Java 標註
  • JDK 1.5 引入的一種註釋機制
  • 用來修飾程序的元素,但不會對被修飾的對象有直接的影響
  • 只有通過 某種配套的工具 纔會對註解信息進行訪問和處理

– 主要用途:
• 提供信息給編譯器 / IDE 工具
• 可用於其他工具來產生額外的代碼 / 配置文件等
• 有一些註解可在程序運行時訪問,增加程序的動態性

註解劃分的三大類:內建註解/元註解/自定義註解
1.內建註解
  • @Override 表示繼承和重寫
    – 修飾方法,檢查該方法是父類的方法
  • @Deprecated 表示廢棄
    – 修飾類 / 類的元素 / 包
    – 標註爲廢除,建議不再使用這個類 / 元素 / 包
  • @SuppressWarnings 表示壓制警告
    – 可以修飾變量 / 方法 / 構造函數 / 類等
    – 壓制各種不同類型的警告信息,使得編譯器不顯示警告
    – @SuppressWarnings(“unchecked”) 忽略 unchecked 警告信息
    – @SuppressWarnings(“deprecated”) 忽略過時方法的警告信息
    – @SuppressWarnings({“unchecked” ,“deprecated”}) 忽略兩種警告
    信息
    – @ SuppressWarnings(values={“unchecked” ,“deprecated”}) 同上
    – @ SuppressWarnings( “all”) 忽略所有的警告信息
    – @ SuppressWarnings( “cast”) 忽略類轉型警告
    – @ SuppressWarnings( “serial”) 忽略實現 Serializable 接口的,沒有定義serialVersionUID
    • 使用 javac - - X 可以看當前的編譯器使用哪些警告類型
    在這裏插入圖片描述
  • @ SafeVarargs 不會對不定項參數做危險操作
  • @ FunctionInterface 聲明功能性接口
2.元註解:用來修飾其他的註解
  • @Target 設置目標範圍
    – 限定目標註解作用於什麼位置@Target({ElementType.METHOD})
    – ElementType.ANNOTATION_TYPE (注:修飾註解)
    – ElementType.CONSTRUCTOR
    – ElementType.FIELD
    – ElementType.LOCAL_VARIABLE
    – ElementType.METHOD
    – ElementType.PACKAGE
    – ElementType.PARAMETER
    – ElementType.TYPE
  • @Retention 設置保持性
    – 示例: @Retention(RetentionPolicy.RUNTIME)
    – 用來修飾其他註解的存在範圍
    – RetentionPolicy.SOURCE 註解僅存在源碼,不在 .class 文件。
    – RetentionPolicy.CLASS 這是默認的註解保留策略 。註解存在於
    .class 文件,但是不能被 JVM 加載。
    – RetentionPolicy.RUNTIME 這種策略下,註解可以被 JVM 運行時
    訪問到。通常情況下,可以結合反射來做一些事情。
  • @Documented 文檔
    – 指明這個註解可以被 Javadoc 工具解析,形成幫助文檔
  • @Inherited 註解繼承
    – 讓一個類和它的子類都包含某個註解
    –普通的註解沒有繼承功能
  • @Repeatable 此註解可以重複修飾
    – 自 JDK1.8 引入
    – 表示被修飾的註解可以重複應用標註
    – 需要定義註解和容器註解

3.自定義註解

  • 擴展於 java.lang.annotation.Annotation
  • 成員可以包括多種類型
  • 使用時可以給註解成員賦值
@interface
Servlet 3.0的註解快捷配置

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章