自定義註解
外觀
| 導航 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()
{
...
}
}
|
