概述
注解就是Java提供了一种让编译器理解一个方法或一个类想要干什麽,是程序中的一种特殊标记,让编译器做出相应的处理。程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。
JDK内置三个基本注解
1、@Override:重写父类方法
2、@Deprecated:已经弃用或者不建议使用的方法
3、@SuppressWarnings:忽略警告
元注解(定义注解时对注解的解释说明)
1、@Retention
注解的生命周期,就是注解保留多长时间
SOURCE(被编译器丢弃)
CLASS(会保留在类文件中,但不会被jvm保留,默认方式)
RUNTIME(保留在类文件中,也会被jvm加载到内存中,可以被反射)
2、@Targer
注解可以修饰那些程序元素,比如在类,接口,方法等等
3、@Documented
注解会在avadoc解析式保留下来
4、@Inherited
注解具有继承性,父类标注子类默认拥有,类标注类内方法也会有
自定义注解
1、声明注解@interface public @interface ckq{}
2、内部定义成员通常value表示(可以没有成员变量,该注解为标识注解)
3、default 定义默认值
@Inherited
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.TYPE,ElementType.ANNOTATION_TYPE})
@Documented
public @interface ckq {
String value() default "ckq";
}