猿问

java反射机制作用

看了好多反射机制的东西,感觉如果一个类的某些方法被设为私有的时候我们可以使用反射机制去访问。但是为什么jdbc驱动也都是使用反射机制去访问,很费解

慕尼黑5688855
浏览 468回答 2
2回答

智慧大石

一条sql语句查询,得到一条查询结果,例如select * from user where id = 1;得到id, userName, email, pwd等字段以及对应的值,但是你的目的不仅仅是得到这些字段,你要将这些字段封装成User对象,便于后续的使用。如果你只有一个User类你可以写一个util类将这些字段一一赋值给User对象的每个属性,但是你还有Post, Question等实体类,这些怎么办呢?每个都写个util类?对象属性发生变化又得重写?这时候反射机制就可以实现这个通用的方法,传入查询出的ResultSet以及你要的对象Class,通过反射获取Class中的field list,从ResultSet中获取对应的值,再使用反射调用Class中对应filed的set方法,完成对对象的封装。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答