最近在项目中看到了某位大佬使用了自定义注解,觉得很有启发,特此学习顺便记录一下java自定义注解属性的定义规则和使用。
一、注解属性规则
在自定义注解时,通常会定义一些属性
(成员变量),这些元素可以在使用注解时传入值。
1. 注解属性类型
注解属性 ( 接口方法 ) 返回值类型要求 :
-
基本数据类型 : byte , short , int , long , float , double , char , boolean
-
字符串类型 : String
-
枚举类型 : enum
-
注解类型
-
Class类型
-
以上类型的数组形式
自定义注解的元素不能有
参数
,也不能抛出异常
,且只能包含基本数据类型、String、Class、枚举、注解和它们的数组。
2. 属性默认值
可以为自定义注解的元素使用 default
关键字指定默认值,当在使用注解时没有为该元素传入值时,将使用默认值。
3. 元素赋值
在使用自定义注解时,可以为注解的元素赋值,形式为 @AnnotationName(elementName = value) 。
Java代码示例
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyAnnotation {
String name() default "name"; //default 赋默认值为 name
int value() default 0;
boolean enabled() default true;
}
以上自定义注解MyAnnotation 包含了三个元素: name 、 value 和 enabled ,并设置了默认值。
注解属性名称如果是
value
, 并且注解中只有1个属性
, 在使用注解为注解属性赋值时 , 可以省略属性名称 , 直接传入注解属性值
总结
本文学习顺便记录一下java自定义注解属性的定义规则和使用。
希望对看到本文的你有帮助。
上一篇 Java注解详解以及自定义注解实战!!! |
记得点赞收藏哦!!!
| 下一篇 java中的包装类(自动拆箱装箱)。 |