https://blog.csdn.net/u010286334/article/details/72932307

 

1、field.get(null)

        

       public static void main(String[] args){
Field field=MainTest.class.getDeclaredField("name"); //static 
field.setAccessible(true);
Object o=field.get(null);
System.out.println("o="+o);  //输出string
}
public static String name="string";


1)如果field的name是一个static的变量,field.get(param),param是任意的都可以,返回类中当前静态变量的值。

2)如果是非静态变量,field.get(obj),obj必须是当前类的实例对象,返回实例对象obj的变量值。

2、field.set(null,string)

同上,field是一个静态变量时,会修改当前类中该变量的值为string;

field是非静态变量,则需要field(obj,string),则修改obj这个实例对象中的field的值为string。
 


本文转载:CSDN博客