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

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

自定义注解的语法要求

  

  定义自定义注解的关键字为@interface

  成员以无参无异常方式声明,可以给成员指定一个默认值(default);成员的类型是受限制的,合法的类型有基本数据类型及String,Class,Annotation,Enumeration;如果注解只有一个成员,则必须取名为value(),使用时可以忽略成员名和“=”

  注解类可以没有成员,此时称为标识注解

__________________________________________________________________________

元注解

  Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。

  定义的元注解有(java.lang.annotation):

    @Target

    @Retertion

    @Inherited

    @Documented

    1)@Target:说明了Annotation所修饰的随想范围,即被修饰的注解的作用域

           ElementType的值有

            1.CONSTRUCTOR:用于描述构造器

            2.FIELD:用于描述域
            3.LOCAL_VARIABLE:用于描述局部变量
            4.METHOD:用于描述方法
            5.PACKAGE:用于描述包
            6.PARAMETER:用于描述参数
            7.TYPE:用于描述类、接口(包括注解类型) 或enum声明

      ps:每个参数之间用“,”隔开

    2)@Retertion:定义了该Annotation被保留的时间长短,即被描述的注解在什么范围内有效

          RetentionPoicy)有:

              1.SOURCE:在源文件中有效(即源文件保留)

             2.CLASS:在class文件中有效(即class保留)
             3.RUNTIME:在运行时有效(即运行时保留)

    3)@Inherited:允许子类被继承

    4)@Documented:描述其它类型的annotation应该被作为被标注的程序成员的公共API,因此可以被例如javadoc此类的工具文档化。Documented是一个标记注解,没有成员。

__________________________________________________________________________

使用自定义注解

  语法:@<注解名>(<成员名1>=<成员值1>,<成员名2>=<成员值3>,...)

  

 

转载于:https://www.cnblogs.com/circle-quan/p/6409685.html

你可能感兴趣的文章
jQuery.form.js使用
查看>>
(转)linux sort,uniq,cut,wc命令详解
查看>>
关于ExecuteNonQuery执行的返回值(SQL语句、存储过程)
查看>>
UVa540 Team Queue(队列queue)
查看>>
mysql数据增删改查
查看>>
shell中下载最新版本或指定版本的办法(Dockerfile 中通用)
查看>>
极客时间-左耳听风-程序员攻略-分布式架构工程设计
查看>>
akka之种子节点
查看>>
不知道做什么时
查看>>
matlab 给某一列乘上一个系数
查看>>
密码学笔记——培根密码
查看>>
Screening technology proved cost effective deal
查看>>
MAC 上升级python为最新版本
查看>>
创业老板不能犯的十种错误
查看>>
Animations介绍及实例
查看>>
判断请求是否为ajax请求
查看>>
【POJ2699】The Maximum Number of Strong Kings(网络流)
查看>>
spring boot配置跨域
查看>>
BZOJ 1996 合唱队(DP)
查看>>
进击吧!阶乘——大数乘法
查看>>