黑马程序员技术交流社区

标题: 在没有Beanutils的前提下,内省机制方便在哪?? [打印本页]

作者: 闫江龙    时间: 2012-1-1 15:44
标题: 在没有Beanutils的前提下,内省机制方便在哪??
本帖最后由 闫江龙 于 2012-1-1 22:33 编辑

生成对象直接调用方法不是更方便,好理解吗?谁举个好点的例子 说明一下方便性?
作者: 付星    时间: 2012-1-1 18:11
我初学也会这么想,后来学到框架,才知道反射的作用
People p=new People();
p.setName("Em");
PropertyDescriptor pd=new PropertyDescriptor("name", p.getClass());
                //获得Get方法
                Method methodGet=pd.getReadMethod();
                System.out.println(methodGet.invoke(p));
                //获得set反射方法
                Method mSet=pd.getWriteMethod();
                mSet.invoke(p, "Gm");

也许以上代码你觉得很哆嗦,但正因为这里哆嗦,才有了框架的自由使用
如动态对象创建对象,你只需要在properties文件配置一下要实例化的类,然后上面的代码就可以动态处理对象setter和getter方法
作者: 闫江龙    时间: 2012-1-1 22:32
谢了 看来还是学的不够 还没到知道作用的时候啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2