有一个ReflectPoint类,其中有私有变量"x",而且对这个私有变量有setX和getX方法,现在我们new ReflectPoint pt=new ReflectPoint(3);这个3是赋给x的值,现在我们要去访问这个私有的x,我感觉用pt.getX()不就行了吗?若果要通过内省的方法,则是下面这样:
String propertyName="x";
PropertyDescriptor pd=new PropertyDescriptor(propertyName,pt1.getClass());
Method methodGetX=pd.getReadMethod();
Object retVal=methodGetX.invoke(pt1);
System.out.println(retVal);
这么一来,内省的方法不是看似更复杂吗?为什么张孝祥老师的java高新技术中还说内省的方法比普通类的方式更方便呢? |
|