黑马程序员技术交流社区

标题: 个人对java反射的理解,请大家补充,指出问题。 [打印本页]

作者: 追忆似水年华    时间: 2015-6-6 12:21
标题: 个人对java反射的理解,请大家补充,指出问题。
定义:对任意一个类或对象,都能够知道这个类或对象的所有属性和方法。
获取类名的方法
1:Class clazz = Class.forName(String);
2: Class clazz = 类名.class;
3:Class clazz = 对象名.getClass();

Class的作用通过名称来获取整个文件,如果找到了,就获取改文件的所有内容,进行加载后产生字节码文件对象,调用类或对象中的所有。

1:调用构造方法
clazz.newInstance();表示实例化对象,调用空构造函数。
clazz.getConstructor(String.class)获取有参数的构造函数,String.class表示任何数据类型都可以被.class所描,参数可以,连接。
constructor..newInstance(String.class);
2:获取字段
Field field = clazz.getDeclaredField("字段");

field.setAccessible(true)//对私有字段进行访问。
获取值
filed.get(对象);
还有Fields什么的。
3:获取函数
Method method =  clazz.getMethod("函数名",参数类型)
method.invoke(对象,参数值);






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