---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------
public class Point{
int x;
int y;
public void setX(){
this.x = x;
}
public int getX(){
return x;
}
public void setY(){
this.y = y;
}
public int getY(){
return y;
}
}这是我所接触过的最简单也是最基本的JavaBean。视频中高新技术这块所说的复杂内省操作是我没有做过的。
ReflectPoint pt1 = new ReflectPoint(3,5);
String propertyName="x";
PropertyDescriptor pd = new PropertyDescriptor(propertyName,pt1.getClass());
Method methodGetX = pd.getReadMethod();
Object retVal = methodGetX.invoke(pt1);
System.out.println(retVal);
这段代码介绍了属性描述符,通过上一节课的反射调用方法获取具体的属性值。
BeanInfo beanInfo = Introspector.getBeanInfo(pt1.getClass());
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
Object retVal = null;
for(PropertyDescriptor pd : pds){
if(pd.getName().equals(propertyName))
{
Method methodGetX = pd.getReadMethod();
retVal = methodGetX.invoke(pt1);
break;
}
}
return retVal;
上面代码是用循环调用的方式完成了看似复杂的内省操作。 学完了视频后,给我感觉真的有点难理解,可是既然是高新技术,就要求我们和基础开发不一样的层次。我想还是要坚持着把它们学会。
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------详细请查看:<a href="http://edu.csdn.net/heima" target="blank">http://edu.csdn.net/heima</a>