java反射之Field

来源:互联网 发布:tensorflow cuda9.0 编辑:程序博客网 时间:2024/04/26 22:26
java反射之Field
Field类主要是用来辅助获取和操作类的属性的!


1.怎么通过反射获取类的属性


     先来看JDK提供的方法有如下几种:


         a)Class.getDeclaredField(String name);


     返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段。


     b)Class.getDeclaredFields();


      返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的类或接口所声明的所有字段。


    c)Class.getField(String name);


       返回一个 Field 对象,它反映此 Class 对象所表示的类或接口的指定公共成员字段。


    d)Class.getField();


       返回一个包含某些 Field 对象的数组,这些对象反映此 Class 对象所表示的类或接口的所有可访问公共字段。




2.进行属性获取更改


   得到这个Field之后你就可以获取他的值或者设置他的值了。


   获取他的值用get类型方法,他针对常见类型提供了对应get方法


   值得注意的是获取私有属性的时候必须先设置Accessible为true,然后才能获取。


   同理设置的时候调用set类型方法,




    Field f=Class.getDeclaredField(String name);
    f.getName();  //获取字段名称
    f.get(Object obj);//获取该字段的值
    f.set(obj,String newValue); //为该对象的这个字段,赋一个新值
0 0
原创粉丝点击