首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 元數據與注解全面解析:內置注解、元注解與自定義注解實戰

     編輯:Java 相關知識

什麼是 Java 元數據(Metadata)

Metadata 意為「關於數據的數據」。Java 注解(Annotation)是元數據的標準化實現,廣泛用於:生成文檔(Javadoc)、追蹤代碼依賴、編譯時格式檢查、替代配置文件(如 Hibernate 注解配置)。

三種基本注解類型

類型語法說明
標記注解@Annotation無成員,僅作標識
單一值注解@Annotation("value")一個值成員
完整注解@Annotation(val1="v1", val2="v2")多個鍵值對成員

三大內置注解

  • @Override:僅用於方法,編譯期驗證重寫正確性
  • @Deprecated:標記不建議使用的方法/類
  • @SuppressWarnings:抑制特定編譯警告,如 @SuppressWarnings("unchecked")

四大元注解:注解其他注解

自定義注解實戰

1. 簡單標記注解

package com.oreilly.tiger.ch06;
public @interface InProgress { }

2. 使用自定義注解

@com.oreilly.tiger.ch06.InProgress
public void calculateInterest(float amount, float rate) { }

3. 添加成員

public @interface InProgress {
    String value();
}

4. 設置默認值

public @interface GroupTODO {
    public enum Severity { CRITICAL, IMPORTANT, TRIVIAL, DOCUMENTATION }
    Severity severity() default Severity.IMPORTANT;
    String item();
    String assignedTo();
    String dateAssigned();
}

5. 使用默認值 / 改寫默認值

@GroupTODO(
    item = "Figure out interest per month",
    assignedTo = "Brett",
    dateAssigned = "08/04/2004"
)
public void calculateInterest(float amount, float rate) { }

@GroupTODO(
    severity = GroupTODO.Severity.DOCUMENTATION,
    item = "Explain unusual method",
    assignedTo = "Jon",
    dateAssigned = "07/30/2004"
)
public void anotherMethod() { }

總結

Java 注解機制從簡單標記發展為功能完備的元數據體系,配合反射 API 可在運行時讀取注解信息,驅動框架自動化行為(如 Spring、Hibernate、JUnit),是現代 Java 開發的基石技術之一。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
元注解作用關鍵參數
@Target限制注解可用位置ElementType: CONSTRUCTOR, FIELD, METHOD, TYPE, PACKAGE 等
@Retention指定保留階段RetentionPolicy: SOURCE, CLASS, RUNTIME
@Documented將注解包含進 Javadoc—
@Inherited允許子類繼承父類注解—