黑马程序员技术交流社区

标题: 反射复习笔记 [打印本页]

作者: LiuKang    时间: 2013-12-9 14:03
标题: 反射复习笔记
反射:反射就是把java类中的各个成分映射成相应java类.就是可以获得一个类的所有信息,反射的作用就是用来做框架.
可以用反射得到类中的那些内容想要获得下面的方法,第一步要通过反射得到类的字节码文件,然后再调用方法)
得到字节码的方式类名.class 对象.getClass()        Class.forName(“类名 ”)三种方式得到的是同一个字节码文件
Constructor constructor1 = String.class.getConstructor(StringBuffer.class);
String str = (String)constructor1.newInstance(new StringBuffer("abc"));
Field fieldY = pt1.getClass().getField("y");
fieldY.get(pt1)(需要指定此变量的值是哪个对象的)
Field fieldX = pt1.getClass().getDeclaredField("x");
fieldX.setAccessible(true);(暴力反射)
暴力反射:通过反射得到私有成员变量时,通过setAccessible暴力获得权限
Object obj = (Object)Class.forName(className).newInstance();
Methord 方法名 = String.class.getMethord(想要得到的方法名,和数据类型.class)
第二步: 方法名.invoke(obj,有参数传参数)方法,调用其方法.

用反射做框架,通过反射能得到类中的构造方法,成员变量和方法





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2