反射第五步 : 通过反射获取某一个类的字段值,并设置字段值 (很少用)

来源:互联网 发布:照片尺寸修改软件 编辑:程序博客网 时间:2024/05/18 06:24
package cn.sdut.reflectclass;import java.lang.reflect.Constructor;import java.lang.reflect.Field;/** 反射第五步 :   通过反射获取某一个类的字段  很少用    * * 带有 “Declared”的方法  无论什么访问权限的字段都可访问* 不带有 “Declared”的方法  只可访问public的方法*/class C {public int a;protected static int b;private String c = "ss";}public class ReflectDemo05 {public static void main(String[] args) throws Exception, SecurityException {// 1.获取Class对象Class clz = C.class;// 2.获取字段Field[] f = clz.getDeclaredFields();for (Field field : f) {System.out.println(field);}// 3.获取字段值Constructor<C> cb = clz.getDeclaredConstructor();//通过反射获得默认构造器  访问权限是default 所以用"Declared"C cO = cb.newInstance();//创建实例对象Field f1 = clz.getDeclaredField("c");f1.setAccessible(true);Object s = f1.get(cO);System.out.println(s);//4.设置字段值f1.set(cO, "zxc");s= f1.get(cO);System.out.println(s);}}

阅读全文
0 0
原创粉丝点击