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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

为了提高代码的安全性而把它封装成私有的,但通过反射却可以访问私有成员,这样做不又打破了代码的安全性了?如果没有应用在框架上,,这样子做有什么好处?

2 个回复

倒序浏览
当然有好处了,比如,咱们两个共同开发一个程序,我负责一个模块,你负责另一个模块,我需要调用你写的类,但是你的类还没有写完,如果我直接new你的类的对象这样是编译(注意是编译)不过去的。如果我用反射写上你的类名。就会编译通过。因为你的类还没有写完所以我运行时肯定是不行的。这只是其中一点。

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
反射就是把JAVA类中的各种成分映射成相应的java类
反射可以动态获得一个类的所有属性、方法等;
应用:如程序里用到了一个类的地方有好多地方,如果你不使用配置文件手写的话,代码的改动量大,把类名写在配置文件里面结合反射就可以解决;
再如类似框架的实现,不知道类名,但是框架需要调用用户提供的类;
再如要把一个对象中的数据copy到另外一个对象中,规则是属性名相同就copy,就可以用反射来做,不需要指定每个属性的名字,只要动态从类中取得信息,再判断属性名是否相同即可

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马