174. Java 注释 - 声明注释类型

2025-08-28  本文已影响0人  Cache技术分享

174. Java 注释 - 声明注释类型

🎯 注释替代代码中的文档信息

在传统的 Java 编程实践中,团队可能会在每个类的开头插入详细的注释,用以提供关于类的元数据(如作者、修改日期、版本等)。这种方式虽然有效,但随着项目变得越来越复杂,可能会导致冗长和重复的注释,尤其是当多个类共享类似的信息时。

例如,以下是一个传统的注释方式:

public class Generation3List extends Generation2List {

   // Author: John Doe
   // Date: 3/17/2002
   // Current revision: 6
   // Last modified: 4/12/2004
   // By: Jane Doe
   // Reviewers: Alice, Bill, Cindy

   // class code goes here

}

📝 定义自定义注释类型

为了使代码更加简洁和结构化,可以使用自定义注释类型来替代这些繁琐的注释信息。定义自定义注释类型需要使用 @interface 关键字,它的语法类似于接口定义,但用于定义注释类型。注释类型的元素就像方法一样,可以定义返回类型和默认值。

下面是一个自定义注释类型的定义示例,用于替代上面的类级注释:

@interface ClassPreamble {
   String author();                  // 作者
   String date();                    // 日期
   int currentRevision() default 1;   // 当前版本,默认值为1
   String lastModified() default "N/A";  // 最后修改日期,默认值为 "N/A"
   String lastModifiedBy() default "N/A";  // 最后修改人,默认值为 "N/A"
   String[] reviewers();             // 审阅者,注意使用数组
}

🎯 注释元素说明

📝 使用自定义注释

一旦定义了注释类型,就可以在代码中使用它,并为注释的元素提供具体的值。以下是如何在类声明中使用 @ClassPreamble 注释的示例:

@ClassPreamble(
   author = "John Doe",
   date = "3/17/2002",
   currentRevision = 6,
   lastModified = "4/12/2004",
   lastModifiedBy = "Jane Doe",
   reviewers = {"Alice", "Bob", "Cindy"}
)
public class Generation3List extends Generation2List {

   // class code goes here

}

📌 注释文档化

为了确保自定义注释在 Javadoc 生成的文档中能够显示,必须使用 @Documented 注释对注释类型进行标记。这使得 Javadoc 工具能够识别和处理该注释,生成包含相关信息的文档。

import java.lang.annotation.*;

@Documented
@interface ClassPreamble {
   String author(); 
   String date();  
   int currentRevision() default 1;
   String lastModified() default "N/A";
   String lastModifiedBy() default "N/A";
   String[] reviewers();
}

🎯 @Documented 注释的作用

📝 总结

上一篇 下一篇

猜你喜欢

热点阅读