这个
例子一共两个java文件:
class="java" name="code">package com.spring;
public class Test {
	private String str = "hello";
	public String getStr() {
		return str;
	}
}
package com.spring;
import java.lang.reflect.Field;
public class Main {
	public static void main(String[] args) throws Exception {
		//正常情况下Test类里面的str属性值是没法改变的,但是通过反射的强大功能是可以实现的
		
		
		Test test = new Test();
		Class clazz = Test.class;
		Field field = clazz.getDeclaredField("str");
		
		//设置为true表示反射会压制java语言的访问检查,也就是java不再检查私有的成员变量,此时反射也可以访问此变量。
		//因为str属性是private的,外界是无法访问的,如果不设置此属性运行时会报错。
		field.setAccessible(true);
		
		field.set(test, "world");
		System.out.println(test.getStr());//激动人心的时刻到了。把str的值改了。
	}
}