黑马程序员技术交流社区

标题: 关于通过配置文件反射来调用类的问题 [打印本页]

作者: 无气打火机    时间: 2013-7-15 22:32
标题: 关于通过配置文件反射来调用类的问题
本帖最后由 杨兴庭 于 2013-7-17 21:13 编辑
  1. package cn.itcast.reflect1;

  2. import java.io.FileNotFoundException;
  3. import java.io.FileReader;
  4. import java.lang.reflect.Constructor;
  5. import java.lang.reflect.Method;
  6. import java.util.Properties;

  7. public class RefectDemo4 {

  8.         public static void main(String[] args) throws Exception {
  9.                 Properties pt = new Properties();
  10.                 FileReader fr = new FileReader("c:\\config.properties");
  11.                 pt.load(fr);
  12.                 for (int i = 0; i < pt.size()/2; i++) {
  13.                         String className = pt.getProperty("className"+i);
  14.                         String methodName = pt.getProperty("methodName"+i);
  15.                         Class cls = Class.forName(className);
  16.                         
  17.                         Constructor con = cls.getConstructor();
  18.                         
  19.                         Method md =cls.getMethod(methodName);
  20.                         Object obj = cls.newInstance();
  21.                         md.invoke(obj);
  22.                         
  23.                 }
  24.         }

  25. }
复制代码
我想问的是那个for (int i = 0; i < pt.size()/2; i++) {....}//这里问什么要除以2?老师今天说要我们自己想。我实在想不出来,不除以不行么?
作者: 草貌路飞    时间: 2013-7-15 23:46
还没看到反射…不过我觉得是因为pt里面存了两种,一个是classname的一个是methodName的。肯定是一个一半么,所以是/2
作者: 张云杰    时间: 2013-7-16 02:36
哥们 你看的是第几课的视频??? 印象里没有/2哦
作者: 张云杰    时间: 2013-7-16 02:37
是基础加强第28课么??  个人表示没有
作者: 王靖远    时间: 2013-7-16 21:50
liukunaitasa 发表于 2013-7-16 08:50
Properties是继承于Hashtable类的
size() 方法是继承来的方法,用于返回此哈希表中的键的数量。
你在循环体 ...

这个是理由吗?
作者: 无气打火机    时间: 2013-7-21 02:06
张云杰 发表于 2013-7-16 02:37
是基础加强第28课么??  个人表示没有

老师上课做的题来的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2