博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java自定义注解基础知识
阅读量:5795 次
发布时间:2019-06-18

本文共 949 字,大约阅读时间需要 3 分钟。

注解分为三类:没有任何元素的注解,有一个元素的注解和有多个元素的注解。

1. Marker注解

这类注解没有任何元素,此类注解仅仅是一个标示。如下所示:

public @interface Good{}

2. 单值注解

只接受单值类型,数据成员使用单词value指定。指定成员的语法与声明方法类似。

public @interface Good{   String value();}

可以像下面一样使用注解:

@Good("this good")

但是如果数据成员不使用value定义,新定义如下所示:

public @interface Good{   String description();}

现在,需要使用下面的注解方式

@Good(description="this good")

注意:数据成员使用默认名称value时候,我们只指定了目标字符串,而省略了成员名称,这次我们需要显示拼写出数据成员的名称description,如果不这么做,编译器将会在编译过程中产生错误。

3. 多值注解

public @interface Good{   String description();   String target();}

多值注解的使用方式如下所示:

@Good(description="this good",target="examine")

4. 设置默认值

java允许为任何数据成员指定默认值,这可以使用default关键字来完成。例如:

public @interface Good{   String description();   String target() default "examine";}

当使用默认值注解的时候,target成员可以不指定,除非想为target设置不同的值。

5. 注解的定义规则

定义一个注解还是很简单的,需要遵照以下几个规则就可以了:

(1)注解声明以@interface开设,随后是注解的名称。
(2)为了创建注解的参数,需要使用参数的类型声明方法:
方法声明不应包含任何参数;
方法声明不应包含任何throws子句;
方法的返回类型应该为:基本类型,字符串,类,枚举,上述类型的数组。

具体使用方式请参考我的另外一篇博文:

转载地址:http://wbbfx.baihongyu.com/

你可能感兴趣的文章
ng2路由延时加载模块
查看>>
使用GitHub的十个最佳实践
查看>>
脱离“体验”和“安全”谈盈利的游戏运营 都是耍流氓
查看>>
慎用!BLEU评价NLP文本输出质量存在严重问题
查看>>
JAVA的优势就是劣势啊!
查看>>
ELK实战之logstash部署及基本语法
查看>>
LINUX下防恶意扫描软件PortSentry
查看>>
如何 debug Proxy.pac文件
查看>>
Python 学习笔记 - 面向对象(特殊成员)
查看>>
Puppet 配置管理工具安装
查看>>
Bug多,也别乱来,别被Bug主导了开发
查看>>
高性能的MySQL(5)创建高性能的索引一B-Tree索引
查看>>
图片变形的抗锯齿处理方法
查看>>
Effective C++ Item 32 确保你的 public 继承模子里出来 is-a 关联
查看>>
phpstorm安装laravel-ide-helper实现自动完成、代码提示和跟踪
查看>>
python udp编程实例
查看>>
TortoiseSVN中图标的含义
查看>>
Tasks and Back stack 详解
查看>>
成功的背后!(给所有IT人)
查看>>
在SpringMVC利用MockMvc进行单元测试
查看>>