java编程之反射

反射

反射允许对成员变量,成员方法和构造方法的信息进行编程访问。

获取class对象的三种方式:

①源代码阶段:Class.forName("全类名")
②加载阶段:类名.class
③运行阶段:对象.getClass();
字节码文件是唯一的,上面三种方式获得的class文件是一样的

Class类中用于获取构造方法的方法

①Constructor<?>[] getConstructors():返回所有公共public构造方法对象的数组
②Constructor<?>[] getDeclaredConstructors():返回所有构造方法对象的数组
③Constructor<T> getConstructors(Class<?>……patameterTypes):返回单个公共public构造方法对象
④Construct<T> getDeclaredConstructor(Class<?>……parameterTypes):返回单个构造方法

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

①T newInstance(Object……initatgs):根据指定的构造方法创建对象
②setAccessible(boolean flag):设置为true,表示取消访问检查

Class类中用于获取成员变量的方法:

①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):获取值

Class类中用于获取成员方法的方法

①Method[] getMethods():返回所有公共public成员方法对象的数组,包括继承的
②Method[] getDeclaredMethods():返回所有成员方法对象的数组,不包括继承的
③Method getMethod(String name,Class<?>……patameterTypes):返回单个公共public成员方法对象
④Method getDeclaredMethod(String name,Class<?>……parameterTypes):返回单个成员方法对象

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

Object invoke(Object obj,Object……args):运行方法
参数一:用obj对象调用该方法
参数二:调用方法的传递的参数(没有就不写)
返回值:方法的返回值(没有就不写)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值