跳轉到內容

自定義註解

75% developed
來自華夏公益教科書,開放的書籍,開放的世界

導航 Javadoc & 註解 主題:v  d  e )


註解可以被視為在 Java 中定義程式碼元資料的一種來源。在以下部分中使用的註解 @CodeDescription 不是 Java API 的一部分。

註解型別宣告

[編輯 | 編輯原始碼]

在你可以將註解用於類、其成員和語句或表示式之前,你需要定義一個 註解型別。以下是定義上述註解型別的語法。

Computer code 程式碼清單 1.1:註解型別宣告
@interface CodeDescription
{
    String author();
    String version();
}

就是這樣!我們第一個註解定義好了。現在,我們可以將它用於任何類。如果你仔細觀察,註解定義類似於普通介面的定義,只是 interface 關鍵字前面加了 @ 字元。由於 @ 代表 'AT' 或 'Annotation Type'(註解型別),因此有些人將這種語法宣告稱為 註解型別宣告

註解元素宣告

[編輯 | 編輯原始碼]

註解定義主體中看起來像方法的部分被稱為 註解元素宣告。這些是我們前面部分示例中用到的命名實體。為了清楚起見,下面的程式碼也代表了對以下註解的呼叫:

Computer code 程式碼清單 1.2:註解的呼叫
public class MyMethod
{
    @CodeDescription
    (
        author = "Unknown",
        version = "1.0.0.1"
    )
    public void doSomething()
    {
        ...
    }
}

注意
註解不是用於類,而是用於方法 doSomething()。這可能還不能體現註解的強大功能,但在後面的章節中會更深入地探討。

使用預設值

[編輯 | 編輯原始碼]

例如,你想讓註解知道,如果 version 元素沒有值,則應該使用 預設值。宣告預設值的方式如下。

Computer code 程式碼清單 1.3:使用預設值。
@interface CodeDescription
{
    String author();
    String version() default "1.0.0.1";
}

因此,現在如果你再次使用相同的程式碼,可以忽略 version 元素,因為你知道預設情況下會提供值。

Computer code 程式碼清單 1.4:預定義值。
public class MyMethod
{
    @CodeDescription(author = "Sysop")
    public void doSomething()
    {
        ...
    }
}


Clipboard

待辦事項
新增一些類似於 變數 中的練習。

華夏公益教科書