A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

有一个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高新技术中还说内省的方法比普通类的方式更方便呢?

1 个回复

倒序浏览
你假设了一个前提,你有一个 ReflectPoint 类。这个前提并不总是成立的。下面那一串方法就没有 ReflectPoint 这个单词出现,能解决以前解决不了的问题。方便肯定是不如 set get 方便的…
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马