7.5.2 为注解增加各种属性

本文详细介绍了Java注解的定义和使用方法,包括如何定义注解的属性、默认值及枚举类型,同时还讲解了如何在注解中定义注解属性及其默认值。

p { margin-bottom: 0.21cm; }

注解的属性很像方法 默认是pubic interface (抽象)的

在注解中 数组用{} 表示

定义方法 需要定义返回值 和属性名

String Color();

 

1. 以把其他属性设置默认值 String color() default "red" ;

2. 定义枚举类型的属性 EnumTest.Trafficlamp lamp() default EnumTest.Trafficlamp. RED ;

3. 在注解中定义注解属性和定义注解属性的默认值: MetaAnnotation annotaionAtrr() default @MetaAnnotation ( "wangxiang" );

 

例子 :

@Retention (RetentionPolicy. RUNTIME )

@Target ({ElementType. TYPE ,ElementType. METHOD })

public @interface ItcastAnnotaion {

String color() default "red" ;

String value();

int [] arrayArtt() default {1,2,3};

// 枚举类型

EnumTest.Trafficlamp lamp() default EnumTest.Trafficlamp. RED ;

MetaAnnotation annotaionAtrr() default @MetaAnnotation ( "wangxiang" );

}

 

使用方法:

1.@ItcastAnnotaion (color= "red" )

2. 如果属性返回了值 需要给属性传入相同类型的值

3. 如果一个注解只有一个属性需要必须填写,并且此属性的名字为value 那么此属性可以不用写属性名和= 例如@SuppressWarnings ( "deprecation" )

4. 如果数组中只有一个值 可以直接用 属性 = 值表示 例如 arrayArtt 是一个数组 如果使用的时候只需要给他传递一个值 就可以 arrayArtt=8

5. 在注解中给注解中的注解赋值 : annotaionAtrr= @MetaAnnotation ( "flx" )

例子:

if (AnnotaionTest. class .isAnnotationPresent( ItcastAnnotaion . class )){

// 得到 ItcastAnnotaion 这个注解类

ItcastAnnotaion annotaion = ( ItcastAnnotaion )AnnotaionTest. class .getAnnotation( ItcastAnnotaion . class );

System . out .println(annotaion.color());

System. out .println(annotaion.arrayArtt(). length );

System. out .println(annotaion.lamp().nextLamp());

System. out .println(annotaion.annotaionAtrr().value());

取值方法 : 给属性赋值的时候直接用属性= 值的方式 取值的使用需要把属性当成一个方法取值 及 annotaion.color()

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值