注解的定义
在java中我们经常会看到很多注解,比如方法重写所用到的 @Override,不建议使用或者有更好的方法则可以使用 @Deprecated,镇压警告可以使用 @SuppressWarnings(“all”)。
什么是元注解
元注解就是用来负责定义其他注解的注解,java中定义了4个标准的元注解,分别为
- @Target
用于描述注解的使用范围
- @Retention
表示需要什么级别保存该注释信息,用于描述注解的生命周期(SOURCE<CLASS<RUNTIME)
- @Documented
说明该注解将被包含在javadoc中
- @Inherited
说明子类可以继承父类中的该注解
自定义注解
自定义注解需要使用 @interface关键词,使用此关键词将自动继承java.lang.annotation.Annotation接口。
@MyAnnotation("参数名")
public class test {
//只有参数名为value时可以省略
@MyAnnotation("参数名")
public void test(){}
}
//注解的使用范围(类,方法)
@Target({ElementType.TYPE,ElementType.METHOD})
//什么级别保存该注释信息(运行时)
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation{
//注解的参数 :参数类型 + 参数名()
String value() default "";
int age() default 18;
int id() default -1; //默认为-1则代表不存在
}