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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 清秋 黑马帝   /  2011-11-28 16:13  /  2011 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 清秋 于 2011-11-28 20:18 编辑

反射有什么用呢?

还有数组的反射。

  1.         //数组反射的应用
  2.         private static void printObject(Object obj) {
  3.                 // TODO Auto-generated method stub
  4.                 //obj可能是数组
  5.                 Class clazz = obj.getClass();
  6.                 if (clazz.isArray()) {
  7.                         int len = Array.getLength(obj);
  8.                         for (int i = 0; i < len; i++) {
  9.                                 System.out.print(Array.get(obj, i) + "   ");
  10.                         }
  11.                 }
  12.                 else {
  13.                         System.out.print(obj);
  14.                 }
  15.                 System.out.println();
  16.         }
复制代码
用意何在?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

4 个回复

正序浏览
反射可以根据一个字节码来得到一个未知类的各种组成部分。可以用来程序在运行中动态创建某个未知类的实例对象。像struts框架、hibernate框架、代理都用到了反射

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
存在即合理,不理解是因为学习的还不够深入,就像刚开始接触到接口时一样,到后边学习的深入了就知道了

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
反射其实就是程序能够自检查自身信息。在程序中可以检查某个类中的方法属性等信息,并且能够动态调用。
这样可以写出很灵活的程序。
比如要把一个对象中的数据copy到另外一个对象中,规则是属性名相同就copy,
就可以用反射来做,不需要指定每个属性的名字,只要动态从类中取得信息,
再判断属性名是否相同即可。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
反射在程序中可以检查某个类中的方法属性等信息,并且能够动态调用。这样可以写出很灵活的程序。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

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