注解 - Start

元注解

Java内置了几个元注解

  • @Target定义了作用域,可以使用的范围。
  • @Retention定义了注解的生命周期
  • @Document定义注解将被包含在JavaDoc中。
  • @Inherited说明子类可以继承父类的注解。

自定义注解

注解内可以规定要传哪些值。

1
2
3
4
5
6
7
8
@Target(value = {ElementType.METHOD, ElementType.TYPE})
@Retention(value = RetentionPolicy.RUNTIME)
@interface MyAnnoPlus {
String value();
String name() default "edlison";
int id() default -1;
int age();
}
  • value对应的可以不用写value = "", 可以直接传值。
  • default默认则可以不传值。
  • 传值的顺序没有要求。

用处

注解可以添加在package, class, method, field上,相当于给他们添加了额外的信息,我们可以通过反射机制编程来实现对这些元数据的访问。