java反射访问私有成员变量
2013-06-24 08:50
344 查看
public class ReflectTest { private volatile String name = "before"; public void setName(String name) { this.name = name; } public static void main(String[] args) { ReflectTest test = new ReflectTest(); try { System.out.println(getValue(test, "name")); test.setName("after"); System.out.println(getValue(test, "name")); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (NoSuchFieldException e) { e.printStackTrace(); } } public static Object getValue(Object instance, String fieldName) throws IllegalAccessException, NoSuchFieldException { Field field = getField(instance.getClass(), fieldName); // 参数值为true,禁用访问控制检查 field.setAccessible(true); return field.get(instance); } public static Field getField(Class thisClass, String fieldName) throws NoSuchFieldException { if (fieldName == null) { throw new NoSuchFieldException("Error field !"); } Field field = thisClass.getDeclaredField(fieldName); return field; } }
打印结果
before after
相关文章推荐
- Java通过反射访问私有成员变量和私有方法
- JAVA中的反射机制对私有成员的访问
- JavaSE第六十四讲:使用反射机制调用对象的私有方法、访问对象的私有成员变量
- 【转】【Java】利用反射技术,实现对类的私有方法、变量访问
- java反射访问私有变量和私有方法
- java中的反射机制——如何访问私有成员的私有方法
- 子类用反射可以访问父类中的私有成员变量及方法
- java中用反射访问私有方法和私有成员
- 通过java反射技术访问类中私有成员属性
- java中反射操作私有成员变量
- Java利用反射访问对象的私有成员
- 类反射学习(三) JAVA如何利用类反射调用普通函数、访问成员成员变量
- Java反射操作私有成员变量 Class can not access a member with modifiers "private"
- java的反射可以绕过访问权限,访问到类的私有方法和成员
- Java反射访问私有变量和私有方法相关搜集
- java利用反射访问类的私有成员
- Java反射访问私有成员
- java中用反射访问私有方法和私有成员[转]
- Java学习笔记_反射_Class.forName()加载并修改一个类的私有成员变量
- java通过反射技术访问私有变量和方法