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

转载于:https://www.cnblogs.com/czp2bconfident/p/9326391.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值