元数据
定义:就是对数据进行说明的数据
作用:用于生成文档、代码分析、编译检查
注解
注解就属于一种元数据,是对代码的修饰
常用的注解:
1.@Override:即重写方法,保留在java源文件中
2.@Deprecated:告诉编译器,此方法或变量已经过时了,不建议使用
保留在运行阶段
3.@SuppressWarnings:告知编译器忽略特定的警告,仅保留在java源文件中
4.FuncationInterface:告知编译器检查这个接口,保证该接口是函数式接口,即只有一个抽象方法,保留在运行阶段
元Annotation
定义:即修饰注解的注解
1.Documented:生成文档,javadoc工具提取为文档
2.Inherited:具有继承性
3.Retention:表示该注解类型的注解保留的时长:
3.1SOURCE:保留在Java源文件中
3.2Class:存在于Java源文件和字节码文件中
3.3RUNTIME:存在于Java源文件和字节码还是JVM中
4.Target:表示注解所适用的程序元素类型
ANNOTATION_TYPE:注解类型声明
CONSTRUCTOR:构造方法声明
FIELD:字段声明
LOCAL_VARIABLE:局部变量声明
METHOD:方法声明
PACKAGE:包声明
PARAMETER:参数声明
TYPE:类、接口或枚举声明
自定义注解
@Documented
@Target(ElementType.METHOD)
@Inherited
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotataion{
String name();
String website() default "hello";
int revision() default 1;
}