这里为什么这样用呢???
package cn.itcast.utils;
import java.lang.reflect.Field;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
public class BeanHandler implements ResultSetHandler {
	private Class clazz;
	public BeanHandler(Class clazz){
		this.clazz = clazz;
	}
	public Object handler(ResultSet rs) {
		try{
			if(!rs.next()){
				return null;
			}
			Object bean = clazz.newInstance();
			
			ResultSetMetaData metadata = rs.getMetaData();
			int columnCount = metadata.getColumnCount();  //得到结果集中有几列数据
			for(int i=0;i<columnCount;i++){
				String coulmnName = metadata.getColumnName(i+1);  //得到每列的列名
				Object coulmnData = rs.getObject(i+1);
				
				Field f = clazz.getDeclaredField(coulmnName);//反射出类上列名对应的属性
				f.setAccessible(true);
				f.set(bean, coulmnData);
			}
			return bean;
		
		
		}catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
}
这里为什么用getDeclaredField()方法,getDeclaredField()方法不是获取私有字段的吗?但是这里它是怎么确定clazz类中的字段都是私有的,或者是getDeclaredField()方法既可以获得私有字段,也可以获得公有字段吗?查jdk api文档就没发现介绍这个方法的详细使用情况,大家都查什么文档呢?
              
------解决方案--------------------
getDeclaredField是获取已声明的字段
------解决方案-----------