/**
* 反射就是在运行期间动态获取信息和动态调用对象的方法的功能
*
* (1)首先要获得类类型 Class Xxx
* a。Class Xxx=Class.forname("Xxx")
* b。Class Xxx=Xxx.class
* c. Class Xxx=xxx.getClass()
* 其中主要用a和b,c需要实例来调用getclass方法,比较麻烦
*
* (2)创建类实例
* a. Object xxx=Xxx.newInstance();
* Xxx必须要有无参构造函数,否则必须先获取构造函数
* b. Object xxx=Xxx.getConstruct( ... ).newInstance( ... );
* 前后参数列表类类型需要一致
*
* (3)获取构造函数
* 一般:Method method=Xxx.getConstruct(...)
* 其中参数是要获取的构造函数的参数列表类类型,无参就是null
* 调用构造函数:metod.invoke(xxx,...)
*
* (4)获取一般函数
* a.Method m=Xxx.getMethod("函数名", ... )
* b.获取共有方法:Method[] m=Xxx.getMethods()
* c。获取本类所有方法:Method[] m=Xxx.getDeclareMethods()
* 使用:method.invoke(xxx, ... )
*
* (5)获取字段
* Field field=Xxx.getDeclaredField(" ");
* 若要访问私有字段 field.setAccessible(true);
* 取:Object obj=field.get(xxx)
* 存:field.set(xxx, )
*/ |
|