全国服务热线:400-6263-721

位置:长沙达内IT教育培训学校 > 学校动态 > Java注解与反射原理说明

Java注解与反射原理说明

来源:长沙达内IT教育培训学校时间:2021/7/9 16:00:05

  Java分享注解与反射原理说明,首先注解若想发挥更大作用,还需借助反射机制之力。通过反射,可以取得一个方法上声明的注解的全部内容。

  一般有两种需求:

  1、取得方法中全部的注解,通过调用getAnnotations来实现。

  2、判断操作是否是指定注解,通过调用getAnnotation来实现。

  下面从源码角度来说明怎样获取这些注解信息。

  源码导读——取得方法中全部的注解

  public class AccessibleObject implements AnnotatedElement {

  ...

  //取得全部Annotation

  public Annotation[] getAnnotations() {

  return getDeclaredAnnotations();

  }

  ...

  }

  public final class Method extends Executable {

  ...

  public Annotation[] getDeclaredAnnotations() {

  //针对Method类,需要调用父类的getDeclaredAnnotations方法

  return super.getDeclaredAnnotations();

  }

  ...

  }

  //Method的父类Executable的getDeclaredAnnotations实现全部注解信息的获取

  public abstract class Executable extends AccessibleObject

  implements Member, GenericDeclaration {

  ...

  public Annotation[] getDeclaredAnnotations() {

  return AnnotationParser.toArray(declaredAnnotations());

  }

  ...

  }

  源码导读——判断操作是否是指定注解

  public final class Method extends Executable {

  ...

  ////取得指定Annotation

  public T getAnnotation(Class annotationClass) {

  return super.getAnnotation(annotationClass);

  }

  ...

  }

  public abstract class Executable extends AccessibleObject

  implements Member, GenericDeclaration {

  ...

  public T getAnnotation(Class annotationClass) {

  Objects.requireNonNull(annotationClass);

  //获得指定注解类的信息

  return annotationClass.cast(declaredAnnotations().get(annotationClass));

  }

  ...

  }

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/1684/news/380383/违者必究! 以上就是长沙达内IT教育培训学校 小编为您整理 Java注解与反射原理说明的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6263-721