时间:2021-05-20
本文实例讲述了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缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
springmvc自定义注解以及自定义注解的解析一、自定义注解名字@Target({ElementType.TYPE,ElementType.METHOD})/
本文实例讲述了javaWeb自定义标签用法。分享给大家供大家参考,具体如下:自定义标签创建自定义标签主要用于移除Jsp页面中的Java代码。移除jsp页面中的j
Java中自定义异常详解及实例代码下面做了归纳总结,欢迎批评指正自定义异常classChushulingExceptionextendsException{pu
对于自定义注解这里就不唠叨了,百度一大堆,这里有我一个自定义注解@Retention(RetentionPolicy.RUNTIME)@Target({Elem
此例子,用于说明如何在Java中对“注解Annotation”的定义、使用和解析的操作。注解一般用于自定义开发框架中,至于为什么使用,此处不作过多说明,这里只说