黑马程序员技术交流社区

标题: 反射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