String a = "abc"; Field f = a.getClass().getDeclaredField("value"); f.setAccessible(true); char[] ch = new char[3]; ch[0]='b'; ch[1]='c'; ch[2]='d'; f.set(a, ch); System.out.println(a);
此时打印出来的就是bcd,具体在于这一句代码
f.setAccessible(true);值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查。值为 false 则指示反射的对象应该实施 Java 语言访问检查