自定义Annotation类型

时间:2023-01-25 16:07:56

自定义Annotation类型:标识符(marker Annotation):@interface

Annotation的使用:可以放在任何地方,如类的前面,方法的前面,变量、属性的前面等等。

Annotation的定义:

在定义Annotation型态的时候不能继承其它的Annotation型态或接口

1、不带参数的定义与使用

java 代码

  

java 代码

  

 2、带一个参数的定义与使用,请注意:

如果定义的参数是"value"这个字符串,那么在使用时可以这样写:@AnnotationTest("hello")也可以这样写:@AnnotationTest(value = "hello"),如果定义的参数不是"value"这个字符串,那么在使用的时候必须显式赋值,也就是必须用@AnnotationTest(value = "hello") 这样的模式,如String value1(); 那么对应的是@AnnotationTest(value1 = "hello") 因为value是个默认的,所以在使用是可以显式也可以隐式

java 代码

  

 

java 代码

 3、带多个参数的定义与使用,请注意:

 带多个参数的话,定义的时候用的是数组,使用的时候,可以是作为单个的也可以作为数组的形式 

java 代码

  

java 代码

  

java 代码

  

java 代码

  

java 代码

  

4、定义默认值的使用

java 代码

  

java 代码 java 代码

   

 

java 代码

  

java 代码

  

java 代码

 

  

4、枚举在Annotation中的使用

java 代码

  

java 代码

  

java 代码

   

 

java 代码

  

java 代码