首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

运用反射访问属性

2012-08-21 
使用反射访问属性package testimport java.lang.reflect.Fieldclass Employ {// 私有属性private String

使用反射访问属性

package test;import java.lang.reflect.Field;class Employ {// 私有属性private String name;private double id;private int age;}public class FieldDemo {public static void main(String[] args) throws Exception {// 获取Employ的类Class<Employ> clz = Employ.class;// 实例化Employ的对象Employ e = clz.newInstance();// 获取属性name、id、ageField fname = clz.getDeclaredField("name");Field fid = clz.getDeclaredField("id");Field fage = clz.getDeclaredField("age");// 忽略权限fname.setAccessible(true);fid.setAccessible(true);fage.setAccessible(true);// 设置属性的值(对象,值)fname.set(e, "lily");fid.setDouble(e, 2.0);fage.setInt(e, 22);// 获取属性的值,若该属性的类型是引用数据类型则使用Object.get(Object obj)Object name = fname.get(e);Object id = fid.getDouble(e);Object age = fage.getInt(e);System.err.println("name : " + name + " id : " + id + " age : " + age);}}
?

热点排行