java类通过反射读写私有变量
发表于2年前(Apr 14, 2016 4:51:44 PM)  阅读 574  评论 0
分类: Java
标签: 反射 private 私有变量 私有方法 reflect
我们写代码时会出现很多private的属性和方法,不允许用户直接访问这些,而是通过public的接口来访问。根据软件设计的开闭原则,一般来说当软件需要修改时,是通过扩展来完成,而不是通过对原有代码修改,即对扩展开放,对修改关闭。
在使用别人写的类库时,可能会遇到需要读写私有变量,或方法的情况,出现这种情况通常都是因为该类库没有很好地考虑到用户可能遇到的情况,没提供扩展的方法,这时,我们可以通过java的放射机制来实现我们的需求。
设置私有变量工具类示例代码(其他类似):
package com.cangzhitao.common.util;
import java.lang.reflect.Field;
/**
* Created by cangzhitao on 16/4/14.
*/
public class ReflectUtil {
public static Object setFiled(Object tar
......