在 Java 中要定义一个注解使用 @interface
public @interface Log {
}
在 Java5 开始提供了4个元注解,用来定义自定义注解的注解,它们分别是:
- @Target :指定注解使用的目标范围(类、方法、属性)
- @Documented :指定被标注的注解会包含在javadoc中。
- @Retention:指定注解的生命周期(源码、class文件、运行时),其参考值见类的定义:java.lang.annotation.RetentionPolicy
- @Inherited:指定子类可以继承父类的注解,只能是类上的注解,方法和字段的注解不能继承。即如果父类上的注解是@Inherited修饰的就能被子类继承。
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Deprecated
@Inherited
public @interface Log {
String value() default "";
}