黑马程序员技术交流社区
标题:
反射Reflect学习总结
[打印本页]
作者:
qq474249147
时间:
2014-6-17 08:24
标题:
反射Reflect学习总结
/**
* 反射就是在运行期间动态获取信息和动态调用对象的方法的功能
*
* (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, )
*/
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2