首先创建一个类包含一个私有属性:
class PrivateField{ private String username = "Jason"; }
通过反射机制修改username的值:
//创建一个类的对象 PrivateField privateField = new PrivateField(); //获取对象的Class Class<?> classType = privateField.getClass(); //获取指定名字的私有域 Field field = classType.getDeclaredField("username"); //设置压制访问类型检查,只有这样,才能获取和设置某个具体类的Field对应的值。 field.setAccessible(true); System.out.println(field.get(privateField)); //设置私有域的值 field.set(privateField, "aaaaa"); System.out.println(field.get(privateField));
我是天王盖地虎的分割线