JavaSE lecture64
package com.java.reflection;
public class PrivateReflect2 {
private String name="zhangsan"; //等待被修改的Private成员
public String getName(){
return name;
}
}
任务:
修改Private成员name ,使其变成“lisi”
my submit:
package com.java.reflection;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class PrivateTest2 {
public static void main(String[] args) throws Exception{
PrivateReflect2 p2=new PrivateReflect2();
Class<?> classType=p2.getClass();
Field field=classType.getDeclaredField("name");
field.setAccessible(true);//压制JAVA对访问修饰的限制
field.set(p2,"Lisi"); //属性设值 set
Method method=classType.getMethod("getName",new Class[]{});
String str=(String)method.invoke(p2,new Object[]{});
System.out.println(str);
}
}
输出:
lisi