• java反射机制


    反射
    动态获取信息以及动态调用对象的方法的功能称为java语言的反射机制

    Java反射相关的类主要包括

    • Class 类型
    • Constructor 构造方法
    • Method 方法
    • Field 属性

    Class类
    Class类中的主要方法

    • getMethod:返回类中某一个方法的实例
    • getMethods: 返回类中所有方法的实例
    • getField:返回类中某一个属性的实例
    • getFields:返回类中所有属性的实例
    • getConstructor:返回类中的一个构造方法的实例


    获得Class类实例的常用方法有如下三个

    • Object类中的getClass方法(对象)
    • 类名.class(类名必须是常量)
    • Class类的静态方法forName(String name)(类名可以是变量)

    Constructor类

    • getName:返回构造方法的名字
    • getParameterTypes:返回构造方法的参数类型
    • newInstance(Object... initargs) :创建实例

    Constructor实例都是通过Class类的方法获得

    • Constructor<T> getConstructor(Class... parameterTypes) :通过指定参数类型,返回构造方法实例。
    • Constructor[] getConstructors() :返回该类的所有构造方法实例

    Method类

    • getReturnType:获得方法返回值类型
    • getName:获得方法名字
    • getParameterTypes:获得方法参数类型
    • invoke(Object obj, Object... args) :使用obj调用该方法,参数为args

    Method实例都是通过Class类的方法获得

    • Method getMethod(String name, Class... parameterTypes) :通过指定方法名,参数类型,返回一个Method实例
    • Method[] getMethods() :返回该类中所有方法的Method实例

    Field类

    • getName:返回属性的名字
    • getXXX:例如,getFloat返回该属性float类型的值
    • setXXX:例如,setFloat为属性赋值float类型的值

    获得Field实例,都是通过Class中的方法实现

    • public Field getField(String name)
    • 通过指定Field名字,返回Field实例
    • 注意Field的访问权限
    •  

     

     

  • 相关阅读:
    Android Studio快速定位当前文件所在的位置
    LeetCode:Search Insert Position
    apk当安装程序将文件复制到手机自带的指定文件夹
    《UNIX级别编程环境》注意读出信号(2)
    iOS:删除小程序
    百度CSND博客在搜索栏中显示图片
    HDU4893:Wow! Such Sequence!(段树lazy)
    Google I/O 2014? No,Android I/O 2014
    Android Push Notifications using Google Cloud Messaging (GCM), PHP and MySQL
    自己动手写CPU 笔记
  • 原文地址:https://www.cnblogs.com/-maji/p/7273583.html
Copyright © 2020-2023  润新知