自定义注解
外观
导航 Javadoc & 注解 主题: ) |
注解可以被视为在 Java 中定义代码元数据的一种来源。在以下部分中使用的注解 @CodeDescription
不是 Java API 的一部分。
在你可以将注解用于类、其成员和语句或表达式之前,你需要定义一个 注解类型。以下是定义上述注解类型的语法。
代码清单 1.1:注解类型声明
@interface CodeDescription
{
String author();
String version();
}
|
就是这样!我们第一个注解定义好了。现在,我们可以将它用于任何类。如果你仔细观察,注解定义类似于普通接口的定义,只是 interface
关键字前面加了 @
字符。由于 @
代表 'AT' 或 'Annotation Type'(注解类型),因此有些人将这种语法声明称为 注解类型声明。
注解定义主体中看起来像方法的部分被称为 注解元素声明。这些是我们前面部分示例中用到的命名实体。为了清楚起见,下面的代码也代表了对以下注解的调用:
代码清单 1.2:注解的调用
public class MyMethod
{
@CodeDescription
(
author = "Unknown",
version = "1.0.0.1"
)
public void doSomething()
{
...
}
}
|
例如,你想让注解知道,如果 version
元素没有值,则应该使用 默认值。声明默认值的方式如下。
代码清单 1.3:使用默认值。
@interface CodeDescription
{
String author();
String version() default "1.0.0.1";
}
|
因此,现在如果你再次使用相同的代码,可以忽略 version
元素,因为你知道默认情况下会提供值。
代码清单 1.4:预定义值。
public class MyMethod
{
@CodeDescription(author = "Sysop")
public void doSomething()
{
...
}
}
|