您的位置:首页 > 编程语言 > Java开发

java高级技术学习_反射

2012-09-24 23:38 232 查看
反射 是 Java的一个高级技术

java reflection in action 英文书

学习反射: 理解框架内部实现,编写简单框架

1、获得Class对象 三种方法

类名.class

对象.getClass()

Class.forName(类全名)

2、构造一个类的对象

通过Class获得类的构造方法 getConstructor(Class<?>... parameterTypes)

通过Constructor的newInstance 构造对象 newInstance(Object... initargs)

3、操作一个类的成员变量

Field[] fields = c.getFields(); // 取得所有public属性(包括父类继承)

Field[] fields = c.getDeclaredFields(); // 取得当前类所有声明的属性(包括private)

通过c.getDeclaredField(属性名称) 获得指定的属性

设置setAccessible(boolean flag) 修改变量访问权限 (必须要修改 private 变量不能直接访问)

Object get(Object obj) 读取属性的值

void set(Object obj, Object value) 为一个对象该属性赋值

4、操作一个类的方法

通过 getDeclaredMethod(String name, Class<?>... parameterTypes) 获得操作Method对象

通过Method的Object invoke(Object obj, Object... args) 执行方法

* 如果执行static方法 ,第一个参数obj 传入 null







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: