Java支持注解形式,合理使用注解,可以对我们的编程提供极大的便利。JAVA自身提供了三种注解,分别是:@Override,@Deprecated,@SuppreWarnings.大家平时应该看见这个这三个注解,除此之外,我们还可以自定义注解。对于自定义的注解,可以加上自己的处理逻辑,这样在某些场合,我们就可以用注解标示某些类或这个方法,这样即可做到不侵入类或者方法内部修改代码,就可以完成我们指定的功能,很是方便。
一、 JAVA自定义注解
@interface MyAnnotation{}
一个最基本的Java自定义注解形式如上所示,但是,有一些点需要注意下:
1、注解内方法不能抛出任何异常;
2、方法应该返回以下之一:基本数据类型, 字符串, 类, 枚举或这些类型的数组形式.
3、注解内方法不能有任何参数;
4、必须使用@interface来定义其为一个注解;
5、注解内方法方法可以设置一个默认值;
1.1、注解类型
主要有三种类型的注解:
java-annotation-types.jpg
1)Marker Annotation
注解没有任何方法,就称为Marker annotation,比如:
@interface MyAnnotation{}
比如java中的@Override 和@Deprecated 注解就是 marker annotation.
2) Single-Value Annotaion
只有一个方法的注解就称为Annotation,比如:
@interface MyAnnotation{
int value();
}
我们可以提供默认值,比如:
@interface MyAnnotation{
int value() default 0;
}
应用这个注解示例如下:
@MyAnnotation(value=10)
其中value可以设置为任何int数值。
3)Multi-Value Annotation
如果一个注解有超过一个方法,那么就称为Multi-Value annotation。比如:
@interface MyAnnotation{
int value1();
String value2();
String value3();
}
我们可以为注解的方法提供默认值,比如:
@interface MyAnnotation{
int value1() default 1;
String value2() default "";
String value3() default "xyz";
}
应用这个注解示例如下:
@MyAnnotation(value1=10,value2="Arun Kumar",value3="Ghaziabad")
1.2、Java元注解
Java有四种元注解,元注解专职负责注解其他的注解:
@Target
@Tar