偶来举个栗子: 一个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数据集对对象的转换。
你不可能说使用任何一个类都用反射去获得这个类的方法,字段什么的吧?!
一般都是在需要的时候才用。我想做Java IDE的使用应该用得比较多。
Core Java 2里第五章讲得挺详细的,搂住可以参考一下
一个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数据集对对象的转换。