平常写代码为什么要用反射呢?小弟不是很明白,比如要得到里面的方法直接New个对象来调用就行了,干嘛还要用反射来取得方法在invoke呢?还有就是反射老是强调运行时做了什么样操作,这个运行时到底指的是什么含义?我运行时New个对象在操作也不一样吗?谢谢

解决方案 »

  1.   

    许多框架神马的都是需要用反射来做的。你可以自己试着多一个类似的小框架看看。比如说稍微好做一点的模拟hibernate,模拟spring等等。你就可以看到反射的厉害之处了的。平时谢谢小代码是不需要用到反射的。在WEB这一块,反射用的就多了。
      

  2.   

    我说一个思路。用简单的properties当做简单配置文件。
    key值就用类字段名称,value值就是用数据库表字段的名称例如:
    类:
    package com.test;
    class User{
    private Integer id;
    private String name;
    .....
    }
    表名:table_user
    ...字段分别为:table_id,table_nameproperties配置如下
    com.test.User=table_user
    id=table_id
    name=table_name你就可以使用反射技术。将配置文件的信息读入。然后通过反射取得类的所有数据信息。组装成一条sql语句完成增删改查等等简单操作
      

  3.   

    反射主要是给 java工具的开发者用的,不是给普通的java程序员的API,所以你用到的不多。但是实际上structs  hibernate tomcat jboss这些框架里面都是大量使用反射实现的,你感觉不到罢了
      

  4.   

    如果没有反射,就没你现在用的spring struts hibernate ibatis这些框架。他们存在的基础就是:反射
      

  5.   

    楼主也写过反射吧
    Class.forName("oracle.jdbc.driver.OracleDriver");
      

  6.   

    反射主要是给框架程序员调用的。一般的开发人员是不需要的。 利用反射,你只需在配置文件中配置,就不需要在具体的类中去New对象了。另外利用反射可以更好地体现多态!!!
      

  7.   

    哎。我都说了。楼猪自己去写个简单模拟hibernate spring struts的框架就知道了。
      

  8.   

    反射主要是给框架程序员调用的。一般的开发人员是不需要的。 利用反射,你只需在配置文件中配置,就不需要在具体的类中去New对象了。另外利用反射可以更好地体现多态!!!