【Java基础】注解--@interface使用详解

        注解@interface不是接口是注解类,在jdk1.5之后加入的功能,使用interface自定义注解时,自动继承了java.lang.annotation.Annotation接口。

        在定义注解时,不能继承其他的注解或接口。@interface用来声明一个注解,其中的每一个方法实际上是声明了一个配置参数。方法的名称就是参数的名,返回值类型就是参数的类型(返回值类型只能是基本类型、Class、String、enum)。可以通过default来声明参数的默认值。

@Target中的参数ElementType

        该参数声明这个注解可以加在上面位置,只能在类上、或只能在方法上@component注解为例,只能加在类或接口上,不能加载方法上。

 

Retention中的参数RetentionPolicy

 成员变量

        以无形参的方法形式来声明Annotation的成员变量,方法名和返回值定义了成员变量名称和类型。

注意:定义成员变量,以方法的形式定义,而不是普通类的那种直接定义方式使用default关键字设置默认值,没设置默认值的变量则使用时必须提供,有默认值的变量使用时可以设置也可以不设置。

        在使用该注解的地方,需要给属性赋值,如果属性定义时,带有default,则可以不用赋值,age可以不用赋值,而name必须赋值:

获取注解信息:

        可以通过反射的方式获取注解在某个元素上的注解和其中的值,在Java反射类库reflect中,Class类实现了AnnotatedElement接口,其中包含多个获取annotation的方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值