「JavaSE 重新出发」05.03.02 在运行时使用反射分析对象

  • 在编写程序时,如果知道想要查看的域名和类型,查看指定的域是一个很容易的事,而利用反射机制可以查看在编译时还不清楚的对象域。
    Employee tank = new Employee("t-man", 35000, 6, 4, 1989);
    Class cl = tank.getClass();
    Field f = cl.getDeclaredField("name");
    f.setAccessible(true); // 使得可以访问似有域
    Object obj = f.get(tank); // 结果为“t-man”
    f.set(tank, "hero"); // 修改域
    Object obj = f.get(tank); // 结果为“hero“
    
posted @ 2017-10-14 18:27  hiwangzi  阅读(135)  评论(0编辑  收藏  举报