文档

Java™ 教程
隐藏目录
声明注解类型
路径:学习Java语言
课程:注解

声明注解类型

许多注解可以替代代码中的注释。

假设一个软件组惯例是在每个类的主体前面添加提供重要信息的注释:

public class Generation3List extends Generation2List {

   // 作者:John Doe
   // 日期:3/17/2002
   // 当前修订版:6
   // 最后修改:4/12/2004
   // 由:Jane Doe
   // 评审人:Alice, Bill, Cindy

   // 类代码放在这里

}

要使用注解添加相同的元数据,首先必须定义注解类型。定义注解类型的语法如下:

@interface ClassPreamble {
   String author();
   String date();
   int currentRevision() default 1;
   String lastModified() default "N/A";
   String lastModifiedBy() default "N/A";
   // 注意数组的使用
   String[] reviewers();
}

注解类型定义类似于接口定义,其中关键字interface前面带有at符号(@)(@ = AT,表示注解类型)。注解类型是接口的一种形式,将在以后的课程中介绍。目前,您不需要理解接口。

上一个注解定义的主体包含注解类型元素声明,它们看起来很像方法。请注意,它们可以定义可选的默认值。

在定义了注解类型之后,您可以像这样使用该类型的注解,并填充值:

@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 {

// 类代码放在这里

}

注意: 为了使@ClassPreamble中的信息出现在生成的Javadoc文档中,您必须在@ClassPreamble定义中使用@Documented注解:
// 导入此项以使用@Documented
import java.lang.annotation.*;

@Documented
@interface ClassPreamble {

   // 注解元素定义
   
}


上一页: 注解基础
下一页: 预定义注解类型