自定义注解
借助 @interface 关键字来定义自定义注解。定义注解时,可对其属性加以声明,这些属性就如同方法一般。
java
// 定义一个简单的自定义注解
public @interface State {//提供提示信息String message() default "这里是提示信息";//指定分组Class<?>[] groups() default {};
}
元注解是用于注解其他注解的特殊注解。Java 提供了几个元注解,以下是常用的元注解:
@Retention:规定注解的保留策略,即注解在何时生效。它有三个取值:
RetentionPolicy.SOURCE:注解仅保留在源代码中,编译时会被丢弃。
RetentionPolicy.CLASS:注解会保留在编译后的类文件中,但在运行时不会被加载。
RetentionPolicy.RUNTIME:注解会保留到运行时,可通过反射机制获取。
@Target:指定注解可以应用的程序元素类型。其取值有多种,例如:
ElementType.TYPE:可用于类、接口、枚举等类型。
ElementType.METHOD:可用于方法。
ElementType.FIELD:可用于字段。
@Documented:表示该注解会被包含在 JavaDoc 文档中。