反射

反射:剖析Java类中的各个组成部分,映射成为一个个Java对象

Java类中的组成部分通常是:

1、构造方法-------对应constructor类型

2、成员方法-------对应field类型

3、成员属性-------对应method类型

要获取以上3个对象,首先要获取到Class对象

获取方式

1、通过类名.class;

2、通过类的对象:对象名.getClass();

3、Class.forName("完整类名");

获取到之后使用Class 接受。

1、构造方法-------对应constructor类型,有了constructor对象就能通过constructor类里面的newInstance(Object...o)创建这个类的对象,获取所有的constructor使用getConstructor();获取所有非public constructor,使用getDeclaredConstructor();可以通过SetAccessible()可以设置是否进行权限检查,参数是boolean。

通过Class的getConstructor()获取

2、成员方法-------对应field类型

与获取Constructor一样,有set(Object o1(代表当前执行这个操作的对象),Object o2(需要赋的值))和get(Object o(获取这个对象的属性,o指的就是这个对象))方法

3、成员属性-------对应method类型

object invoke(Object obj,Object param)参数obj:执行这个方法的对象 param:方法的参数

如果方法是静态的怎么使用

因为是静态的,所以不需要对象调用,直接写null。

如果方法的参数是数组类型怎么传参数

1、强制转换成Object。

2、中外层再包装一层数组

posted @ 2018-01-25 17:43  小菜鸟321  阅读(129)  评论(0)    收藏  举报