自己找了些题做,碰到这么一道,瞬间傻了,求大神解答,看样子也是反射里面的东西,但讲反射的时候没讲这些啊。还是我漏了些什么?
/** * 存在一个javabean,设置string,Boolean,double,integer * 的默认初值为www.itheima.com,true,0.01D,100 * * 思路: * 1.创建一个类,该类是标准javbean,并拥有一些自定义属性. * 2.获取到该类的字节码文件,并通过字节码创建该类对象. * 3.获取BeanInfo对象.通过Introspector.getBeanInfo(类字节码) * 这样就将该类的信息封装到了BeanInfo对象中. * 4.通过beanInfo.getPropertyDescriptors()返回一个数组,将信息 * 存入数组中. * 5.遍历该PropertyDescriptors类型数组,并将数组元素通过各种 * 方法获取到信息. * 6.用属性类型与提供的类型想匹配,然后赋值. * 总结: * 1.javaBean是一个协议类,也就是该类拥有一些功能,主要用于对目标类进行字段的操作,但是,必须要按照javaBean自己提供的一个标准,它才可以识别; * 2.javaBean和反射有什么区别呢?javaBean是把数据先封装到自己中,然后再通过自己的方法,将这些信息提供出来.针对字段,并具有很好的普遍性.而反射可以获取到任何信息,也更具有针对性. * * 思考: * JDK中提供了对JavaBean进行操作的一些API,这套API就称为内省。
|