谁能证明?

解决方案 »

  1.   

    我觉得主要用在类型检验,然后就是动态得到成员变量值和执行method.
      

  2.   

    反射这东西一般都是不得已得时候才用吧。至于灵不灵活很难说得清楚。
    你不可能说使用任何一个类都用反射去获得这个类的方法,字段什么的吧?!
    一般都是在需要的时候才用。我想做Java IDE的使用应该用得比较多。
    Core Java 2里第五章讲得挺详细的,搂住可以参考一下
      

  3.   

    反射是写基础框架的人才经常用到,如spring ,hibernate就大量用到J2SE的动态代理和反射机制.J2SE的动态代理只能代理接口,对于类的代理只有通过CGLIB来实现
      

  4.   

    Java中反射机制很重要,我最近正在看Spring,Spring框架的作者Rod Johnson声称Spring可以替代EJB来开发企业级的应用,其实主要归功于Spring框架中的AOP机制,可以象EJB一样提供申明性的企业级服务,如事物管理什么的。而实现AOP,靠的就是J2SE中的动态代理功能,而动态代理就是依赖于Java的反射机制,若不用反射机制就只是静态代理了
      

  5.   

    偶来举个栗子:
       一个jdbc的resultset,我想直接将这个resultset中的值填充一个类的属性中去,一般情况下要这样写:类代码:
       public class test{
         private string name;
         private int age;}  test obj=new test();
    obj.setName(resultset.getString("name"));
    obj.setAge(resultset.getInt(2));这样的代码相信楼主能看懂吧?就是把字段值读出来添到test这个类对应的属性中去,那我们利用反射的话就不用一个字段一个字段的去写这些付值代码了用反射实现的代码比较长,我就不写了,过程就是根据test这个类,在程序运行期间取出test类中的所有属性,然后在jdbc的resultset中判断有没有对应的字段名称,有的话就填充,网上有这样的代码,实际应用时还要考虑一下数据的转换问题。针对上面这个应用来说,使用反射的话不用关心的类中有哪些属性或是要处理哪些具体的字段,开发者不需要特别的代码就可以处理jdbc数据集对对象的转换。