1. 元注解
注解名 | 注解作用 |
---|
@Target | 用于描述注解的使用范围(即:被描述的注解可以用在什么地方) |
@Retention | 表示需要在什么级别保存该注释信息,用于描述注解的生命周期(SOURCE<CLASS<RUNTIME) |
@Document | 说明该注解将被包含在javadoc中 |
@Inherited | 说明子类可以继承父类中的该注解 |
2. 自定义注解
- @interface自定义注解
- 格式:public @interface 注解名{定义内容}
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
public class MyAnnotation {
@annotation()
public void test(){}
}
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface annotation {
Sting name() default "";
int age() default 0;
int id default -1;
String[] schools() default {"清华", "北大"};
}
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface annotation2 {
String value();
}