美文网首页
【注解Annotation】自定义注解

【注解Annotation】自定义注解

作者: 奔跑的程序媛A | 来源:发表于2021-08-30 15:27 被阅读0次

定义注解Annotation

使用@interface定义注解
例子:

@Retention(RetentionPolicy.RUNTIME)//通常我们自定义的Annotation都是RUNTIME
@Target(ElementType.METHOD, ElementType.FIELD) //定义注解@Report可用在方法或字段上
public @interface Report {
  int type() default 0;
}
  • 注解的参数类似于无参数的方法,可以用default设定一个默认值

元注解meta annotation

元注解是可以用来修饰其他注解的

1. @Target

用来定义Annotation能够被应用在源码的哪些位置、

  • 类/接口:ElementType.TYPE
  • 字段:ElementType.FIELD
  • 方法:ElementType.METHOD
  • 构造函数:ElementType.CONSTRUCTOR
  • 方法参数:ElementType.PARAMETER

2. @Retention

用来定义Annotation的生命周期

  • 仅编译期:RetentionPolicy.SOURCE
  • 仅class文件:RetentionPolicy.CLASS
  • 运行期:RetentionPolicy.RUNTIME

若Retention不存在,则annotation默认为class

3. @Repeatable

用来定义annotation可以重复
经过该注解修饰后,在某个类型的声明处,可以添加多个annotation

4. @Inherited

  • 用来定义子类是否可以继承父类定义的annotation
  • 仅针对 @Target(ElementType.TYPE)类型的annotation有效
  • 仅针对class的继承,对interface无效

使用自定义注解

  • 只讨论如何读取RUNTIME类型的注解
  • 反射API
    • 判断某个注解是否存在于class/field/method/constructor中: Class.isAnnotationPresent(Class) / Field.isAnnotationPresent(Class) / Method.isAnnotationPresent(Class) / Constructor.isAnnotationPresent(Class)
    • 读取Annotation: Class.getAnnotation(Class) / Field.getAnnotation(Class) / Method.getAnnotation(Class) / Constructor.getAnnotation(Class)

相关文章

  • 初识java Annotation

    关于java Annotation什么是注解(Annotation) 注解的组成 自定义注解的语法以及定义形式 使...

  • java基础之自定义注解

    注解Annotation实现原理与自定义注解例子

  • 注解

    Java注解 注解 元注解 自定义注解 元注解:负责注解其他注解 共有4个标准的meta-annotation类型...

  • JDK 之 自定义注解 Annotation

    JDK 之 自定义注解 Annotation 参数校验 注解定义 Validation: 反射解析注解 Valid...

  • 画个图,玩一下注解

    参考《深入理解Java:注解(Annotation)自定义注解入门》

  • Spring Aop 注解式声明记录用户操作日志

    一、自定义注解(annotation) 自定义注解的作用:在反射中获取注解,以取得注解修饰的类、方法或属性的相关解...

  • springMVC的自定义annotation(@Retenti

    自定义注解: 使用@interface自定义注解时,自动继承了java.lang.annotation.Annot...

  • JAVA自定义注解

    自定义注解 1、元注解(meta-annotation) 元注解的作用就是负责注解其他注解。Java5.0定义了4...

  • Java注解与Spring注解

    1,元注解与自定义注解 1)java.lang.annotation包中包含了所有定义自定义注解所需要的元注解和接...

  • java自定义注解

    一、元注解 java.lang.annotation提供了四种元注解,专门注解其他的注解(在自定义注解的时候,需要...

网友评论

      本文标题:【注解Annotation】自定义注解

      本文链接:https://www.haomeiwen.com/subject/micoiltx.html