java读取变量getDeclaredField 如何用反射读取私有属性?希望给我例子谢谢..
以及
public class A {
public String m;
public void functionA(String s1,String s2){
s1 = "d";
s2 = "e";
m = s1 + s2;
};
public static void main(String[] args) {
A a = new A();
System.out.println(a.m);
}
}
怎么获取改变了的m值 ------最佳解决方案--------------------
A a=new A();
a.functionA("a","b");//你先调用了这个方法再用反射获得值。
Field field=A.class.getDeclaredField("m");//根据变量名m获得字段 field.setAccessible(true);//设置字段可访问,即暴力反射 String m=(String)field.get(a);//在那个对象上获取此字段的值 System.out.println(m);
------其他解决方案--------------------
A a=new A();
Field field=A.class.getDeclaredField("m");//根据变量名m获得字段
field.setAccessible(true);//设置字段可访问,即暴力反射
String m=(String)field.get(a);//在那个对象上获取此字段的值
System.out.println(m);
------其他解决方案--------------------
public static void main(String[] args) {
A a = new A();
a.functionA("a", "b");
System.out.println(a.m);
}