@Override:用来验证一个方法是否是重写父类的方法。
@FunctionalInterface:这个注解用来验证一个接口是否是函数式接口。
@Target:限制注解的使用位置
ElementType.TYPE,类,接口
ElementType.FIELD, 成员变量
ElementType.METHOD, 成员方法
ElementType.PARAMETER, 方法参数
ElementType.CONSTRUCTOR, 构造方法
ElementType.LOCAL_VARIABLE, 局部变量
@Retention:限制注解的生命周期
RetentionPolicy.SOURCE:表示被修饰的注解只在源代码阶段有效,在编译后的.class文件中以及运行时内存中是没有的。
RetentionPolicy.CLASS:表示被修饰的注解在源代码阶段以及编译后的class文件中有效,在运行时期内存中是没有的。(默认值)
RetentionPolicy.RUNTIME:表示被修饰的注解在源代码阶段,以及编译后的class文件中,以及运行时内存中都有效
@Documented 注解表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的. 但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理, 所以注解类型信息也会被包括在生成的文档中,是一个标记注解,没有成员。
@Inherited是一个标识,用来修饰注解
作用:如果一个类用上了@Inherited修饰的注解,那么其子类也会继承这个注解
AOP环绕+自定义注解
最新推荐文章于 2024-11-22 13:54:43 发布