1 mark类型的annotation
public @interface a {
}
创建时可以是这个样子的。
2 在非mark类型的也非常简单 只需:
public @interface a {
String value() default "abc";
}
value()是默认参数名的值。只有是value的时候才能在 @a("advsd") 这样使用。
defalut是模式值,当@a不给值时便是这个默认值。
但参数名不是value的时候:如名字为value1,则:
@a(value1="adcd")
当参数为多个时:
public @interface a {
String[] value1() ;
}
在调用的时候:
@a(value1={"adcd","eew"})
3 当新建的annotation和要使用该annotataion的文件不在同一个包中时:要对使用的地方用import引入该annotation文件。
4使用@interface自行定义Annotation型态时,实际上是自动继承了接口java.lang.annotation.Annotation
由编译程序自动为您完成其它产生的细节在定义Annotation型态时,不能继承其它的Annotation型态或是接口
5 annotation的参数类型只能是基本类型,String,Class,enum,annotation和这些类型组成的一维数组