• Java反射基础知识


    反射机制就是可以把一个类,类的成员(属性、方法)当成一个对象来操作,也就是说,类,类的成员,我们在运行的时候可以动态的去操作它们。

    所有的Java类都继承了Object类,在Object类中定义了一个getClass()方法,该方法返回一个类型为Class类型的对象实例,例如:Class textFieldC = textField.getClass();

    利用Class类型的对象实例,可以访问该对象的textField对象的描述信息,可以访问的主要描述信息如表所示:

    通过反射可访问的主要描述信息
    组成部分 访问方法 返回值类型 说明
    包路径 getPackage() Package对象 获得该类的存放路径
    类名称 getName() String对象 获得该类的名称
    继承类 getSuperClass() Class对象 获得该类的父类
    实现接口 getInterfaces() Class型数组 获得该类实现的所有接口
    构造方法

    getConstructors()

    getConstructor(Class<?>...parameterTypes)

    getDeclaredConstructors()

    getDeclaredConstructor(Class<?>...parameterTypes)

    Constructor型数组

    Constructor对象

    Constructor型数组

    Constructor对象

    获得所有权限为public的构造方法

    获得权限为public的指定构造方法

    获得所有的构造方法,按声明顺序返回

    获得指定构造方法

    方法 

    getMethods()

    getMethod(String name, Class<?>...parameterTypes)

    getDeclaredMethods()

    getDeclaredMethod(String name, Class<?>...parameterTypes)

    Method型数组

    Method对象

    Method型数组

    Method对象

    获得所有权限为public的方法,包含从父类继承的方法

    获得权限为public的指定方法

    获得所有方法,按声明顺序返回,不包含从父类继承的方法

    获得指定方法

    成员变量

    getFields()

    getField(String name)

    getDeclaredFields()

    getDeclaredField(String name)

    Field型数组

    Field对象

    Field型数组

    Field对象

    获得所有权限为public的成员变量,包含从父类继承的成员变量

    获得权限为public的指定成员变量

    获得所有成员变量,按声明顺序返回,不包含从父类继承的成员变量

    获得指定成员变量

    内部类

    getClasses()

    getDeclaredClasses()

    Class型数组

    Class型数组

    获得所有权限为public的内部类、

    获得所有内部类

    内部类的声明类 getDeclaringClass() Class对象 如果该类为内部类,则返回它的成员类,否则返回null
  • 相关阅读:
    【认证】Apache Shiro对象概念
    【Java基础】char
    【Http】keepalive
    【Nginx】Nginx处理请求过程
    【CSS】块级元素和行内元素
    未A,或用水法,或不熟的题
    2017初二上期中考试总结
    动态规划中的单调队列优化_补充
    NOIP2017普及组翻车记
    对拍模板
  • 原文地址:https://www.cnblogs.com/czp2bconfident/p/9326391.html
Copyright © 2020-2023  润新知