Java 自定義Annotation

參考資料

[1]. 瘋狂Java講義(第三版) 李剛

定義Annotation

定義一個簡單的Annotation

// 定義一個簡單的Annotation
public @interface Test {
}

在類上使用

@Test
public class MyClass {
}

在方法上使用

public class MyClass {
    @Test
    public void info() {}
}

定義成員變量

public @interface MyTag {
    // 定義兩個成員變量
    // Annotation中的成員變量以方法的形式來定義
    String name();
    int age();
}

使用的時候指定默認值

public class Test {
    // 使用帶成員變量的Annotation時,需要爲成員變量賦值
    @MyTag(name="xx", age=10)
    public void info()
    {
        // 執行..
    }
}

定義成員變量並指定初始值

public @interface MyTag {
    // 定義兩個成員變量
    // Annotation中的成員變量以方法的形式來定義
    String name() default "yyy";
    int age() default 33;
}

使用的時候指定默認值

public class Test {
    // 使用帶成員變量的Annotation時
    // 因爲它的成員變量有默認值,所以不可以爲它的成員變量指定值
    // 如果指定了值,則默認值會被取消
    @MyTag
    public void info()
    {
        // 執行..
    }
}

提取Annotation信息

發佈了91 篇原創文章 · 獲贊 23 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章