注释的作用:
进行编译检查,生成说明文档,代码分析等。
元注解:
元注解的主要作用是注解其他注解。
元注解包括:@Target @Documented @Retention @lnherit
@Target注解它用于描述注解可以修饰的类型
可以修饰的类型为:TYPE(类 接口 枚举) FIELD、METHOD(方法声明) PARAMETER(参数) CONSTRUCTOR(构造方法)LOCAL_VARIABLE(本地变量) ANNOTATION_TYPE(注解类型声明) PACKAGE(包)。
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Target{
ElementType[]value();
}
@Documented注释在生成APl文档时,注解可以呈现在使用该注解的APl上。
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Documented{
}
@Retention注解:用于表示该注解的作用阶段,其参数可以取RetentionPolicy中的值。
SOURCE:作用于源代码中,编译阶段被去除
CLASS :可以被编译进CLASS文件中
RUNTIME:可以被编译进Class文件,虚拟机在运行期使用
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Retention{
RetentionPolicy value();
}
@lnherit注解是一个标记注解,用于描述一个注解可以被继承,如果一个类使用@lnherit标记的注解的话那么该注解可以被该类的子类继承。
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface lnherited{
RetentionPolicy value();
}
定义注解格式:
public lnterface 注解名{定义体}
注释参数可用的数据类型:
所有基本数据类型(8种)(byte short int lang double float char boolean)
String类型
Class类型
enum类型
Anontation类型
以上数据类型的数组