• 反射&注释API


    反射获取构造器对象

    获取对象

    说明

    Constructor<?>[] getConstructors​()

    Public,返回所有构造器对象的数组

    Constructor<?>[] getDeclaredConstructors​()

    返回所有构造器对象的数组,存在就能拿到

    Constructor<T> getConstructor​

    (Class<?>... parameterTypes)

    Public,返回单个构造器对象

    Constructor<T> getDeclaredConstructor​(Class<?>... parameterTypes)

    返回单个构造器对象,存在就能拿到

    Constructor类中用于创建对象的方法

    方法

    说明

    T newInstance

    (Object... initargs)

    是public,根据指定的构造器创建对象

    public void  setAccessible

    (boolean flag)

    非public,设置为true,表示取消访问检查,进行暴力反射

    反射获取成员变量对象

    获取对象

    说明

    Field[] getFields()

    public

    返回所有成员变量对象的数组

    Field[] getDeclaredFields()

    返回所有成员变量对象的数组,存在就能拿到

    Field getField(String name)

    public

    返回单个成员变量对象

    Field getDeclaredField

    (String name)

    返回单个成员变量对象,存在就能拿到

    Field类中用于取值、赋值的方法

    方法

    说明

    void set

    (Object obj, Object value)

    赋值

    Object get(Object obj)

    获取值

    反射获取方法对象

    获取对象

    说明

    Method[] getMethods​()

    public,返回所有成员方法对象的数组

    Method[] getDeclaredMethods​()

    返回所有成员方法对象的数组,存在就能拿到

    Method getMethod​(String name,

    Class<?>... parameterTypes)

    public,返回单个成员方法对象

    Method getDeclaredMethod​

    (String name, Class<?>...

    parameterTypes)

    返回单个成员方法对象,存在就能拿到

    Method类中用于触发执行的方法

    方法

    说明

    Object invoke​(Object obj,

    Object... args)

    参数一:用obj对象调用该方法

    参数二:调用方法的传递的参数(如果没有就不写)

    返回值:方法的返回值(如果没有就不写)

    注解的解析

    获取对象

    说明

    Annotation[]    getDeclaredAnnotations()

    获得当前对象上使用的所有注解,返回注解数组

    T getDeclaredAnnotation

    (Class<T> annotationClass)

    根据注解类型获得对应注解对象

    boolean isAnnotationPresent

    (Class<Annotation> annotationClass)

    判断当前对象是否使用了指定的注解,如果使用了则返回true,否则false

    元注释

    @Target

    中可使用的值定义在ElementType枚举类中,常用值如右

    TYPE  类,接口

    FIELD  成员变量

    METHOD  成员方法

    PARAMETER  方法参数

    CONSTRUCTOR  构造器

    LOCAL_VARIABLE  局部变量

    @Retention

    中可使用的值定义在RetentionPolicy枚举类中,常用值如下

    SOURCE  注解只作用在源码阶段,生成的字节码文件中不存在

    CLASS    注解作用在源码阶段,字节码文件阶段,运行阶段不存在,默认值

    RUNTIME 注解作用在源码阶段,字节码文件阶段,运行阶段(开发常用)

  • 相关阅读:
    Dom4J解析XML、Xpath检索XML
    k8s-11 网络策略
    github 中的java前后端项目整合到本地运行
    【JVM技术专题】网络问题分析和故障排查规划指南「实战篇」
    基于微分段的东西向安全防护,如何提升数据中心运维效率?|社区成长营分享回顾
    GBase 8s 检查点(checkpoint)
    小程序获取支付api
    2022年度嵌入式C语言面试题库(含答案)
    k8s ingress高级用法一
    多商户商城系统功能拆解19讲-平台端发票管理
  • 原文地址:https://blog.csdn.net/czdzz/article/details/125453344