Java自定义注解用法实例小结
本文实例讲述了Java自定义注解用法。分享给大家供大家参考,具体如下:
一自定义注解语法
[public]@interfaceAnnotation的名称 { [数据类型变量名称();] }
要自定义注解,需要使用@interface方式进行定义,在定义注解时也可以定义各种变量,但是变量之后必须使用括号()。
提示:使用@interface就相对于继承了Annotation接口。在程序中使用@interface声明Annotation,那么此Annotation实际相对于继承了Annotation接口。
二什么都不做的自定义注解
1代码
//定义了MyAnnoation注解,其中没有定义任何变量,这里仅仅给出一个演示框架 @interfaceMyAnnoation { //donothing } classTest { //演示使用自定义注解 @MyAnnoation publicstaticvoidmain(String[]args) { System.out.println("helloMyAnnoation"); } }
2运行结果
helloMyAnnoation
三定义了变量的自定义注解
1代码
//定义了AnnoationVar注解,其中声明了两个变量key和value。 @interfaceAnnoationVar { publicStringkey(); publicStringvalue(); } classTestAnnoationVar { //使用了“变量名=值”的形式为自定义注解变量赋值 @AnnoationVar(key="var1",value="test") publicstaticvoidmain(String[]args) { System.out.println("helloAnnoationVar"); } }
2运行结果
helloAnnoationVar
3注意
如果在自定义注解中声明了变量,但没有设置默认值,则在使用该注解时必须为变量赋值。
四自定义变量中设置了默认值
1代码
//定义了注解AnnoationDefault,声明了两个变量key和value,并分别设置了默认值 @interfaceAnnoationDefault { publicStringkey()default"var1"; publicStringvalue()default"value1"; } classTestAnnoationDefault { //使用了注解,没有为变量赋值,编译器会自动使用默认值为变量赋值 @AnnoationDefault() publicstaticvoidmain(String[]args) { System.out.println("helloTestAnnoationDefault"); } }
2运行结果
helloTestAnnoationDefault
五枚举在自定义注解中的应用
1代码
@interfaceAnnoationEnum { publicColorcolor(); } enumColor { RED,GREEN,BLUE; } classTestAnnoationEnum { @AnnoationEnum(color=Color.BLUE) publicstaticvoidmain(String[]args) { System.out.println("helloTestAnnoationEnum"); } }
2运行结果
helloTestAnnoationEnum
六说明
本篇仅介绍了自定义注解的定义和使用,但真正背后的实现原理没有介绍,它会用到反射机制,后面文章再介绍。
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。