当前位置 主页 > 网站技术 > 代码类 > 最大化 缩小

    Java自定义注解用法实例小结

    栏目:代码类 时间:2019-09-11 13:50

    本文实例讲述了Java自定义注解用法。分享给大家供大家参考,具体如下:

    一 自定义注解语法

    [public] @interface Annotation的名称{  [数据类型 变量名称();]}

    要自定义注解,需要使用@interface方式进行定义,在定义注解时也可以定义各种变量,但是变量之后必须使用括号()。

    提示:使用@interface就相对于继承了Annotation接口。在程序中使用@interface声明Annotation,那么此Annotation实际相对于继承了Annotation接口。

    二 什么都不做的自定义注解

    1 代码

    //定义了MyAnnoation注解,其中没有定义任何变量,这里仅仅给出一个演示框架@interface MyAnnoation{  //do nothing}class Test{  //演示使用自定义注解  @MyAnnoation  public static void main(String[] args)  {    System.out.println("hello MyAnnoation");  }}

    2 运行结果

    hello MyAnnoation

    三 定义了变量的自定义注解

    1 代码

    //定义了AnnoationVar注解,其中声明了两个变量key和value。@interface AnnoationVar{  public String key();  public String value();}class TestAnnoationVar{  //使用了“变量名=值”的形式为自定义注解变量赋值  @AnnoationVar(key="var1",value = "test")  public static void main(String[] args)  {    System.out.println("hello AnnoationVar");  }}

    2 运行结果

    hello AnnoationVar

    3 注意

    如果在自定义注解中声明了变量,但没有设置默认值,则在使用该注解时必须为变量赋值。

    四 自定义变量中设置了默认值

    1 代码

    //定义了注解AnnoationDefault,声明了两个变量key和value,并分别设置了默认值@interface AnnoationDefault{  public String key() default "var1";  public String value() default "value1";}class TestAnnoationDefault{  //使用了注解,没有为变量赋值,编译器会自动使用默认值为变量赋值  @AnnoationDefault()  public static void main(String[] args)  {    System.out.println("hello TestAnnoationDefault");  }}

    2 运行结果

    hello TestAnnoationDefault

    五 枚举在自定义注解中的应用

    1 代码

    @interface AnnoationEnum{  public Color color();}enum Color{  RED,GREEN,BLUE;}class TestAnnoationEnum{  @AnnoationEnum(color =Color.BLUE)  public static void main(String[] args)  {    System.out.println("hello TestAnnoationEnum");  }}

    2 运行结果

    hello TestAnnoationEnum

    六 说明

    本篇仅介绍了自定义注解的定义和使用,但真正背后的实现原理没有介绍,它会用到反射机制,后面文章再介绍。

    更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》