黑马程序员技术交流社区

标题: 大神们这道题怎么做 [打印本页]

作者: 沟门大杏    时间: 2014-8-25 19:58
标题: 大神们这道题怎么做
本帖最后由 沟门大杏 于 2014-8-25 20:05 编辑

5、 已知一个类,定义如下:
   package cn.itcast.heima;
      public class DemoClass {
      public void run()
      {
         System.out.println("welcome to heima!");
      }   
     }
(1) 写一个Properties格式的配置文件,配置类的完整名称。
(2) 写一个程序,读取这个Properties配置文件,获得类的完整名称并加载这个类,用反射 的方式运行run方法。

还有那个配置文件怎么配?

作者: 吴杰栋    时间: 2014-8-25 20:16
配置文件是key->value的,可以通过properties中的方法getProperty()得到value,这个value就是你的类名字,然后在通过IO技术,将配置文件加载到IO流中去,读到你的类名,有了类名,你就可以用反射,去得到类的方法,然后再使用Method类中的invoke方法,去运行run方法,这个就是用反射去运行run方法

作者: java_dream    时间: 2014-8-25 21:36
没抢到首发!
如下程序:
package cn.itcast.heima;

import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;

public class GetClassByName {
       
        public static void main(String[] args) throws Exception{
                Properties prop = new Properties();
                prop.load(new FileReader("src/cn/itcast/heima/class.properties"));
               
                String className = prop.getProperty("democlass");
                Class clazz = Class.forName(className);
                clazz.getMethod("run", null).invoke(clazz.newInstance());
        }

}
配置文件名(文件名和后缀名任意),如class.properties,内容:democlass(也可任意取名,程序通过该key获取到类名)=cn.itcast.heima.DemoClass(类的全限定名)
作者: 孙雯    时间: 2014-8-25 21:38
路过学习观摩一下~\(≧▽≦)/~~
作者: 天邃任我桓    时间: 2014-8-25 21:43
路过学习,最喜欢这样的帖子!
作者: 这个夏天的芬芳    时间: 2014-8-25 23:15
{:2_31:}{:2_31:}{:2_31:}{:2_31:}{:2_31:}{:2_31:}
作者: 沟门大杏    时间: 2014-8-26 08:23
java_dream 发表于 2014-8-25 21:36
没抢到首发!
如下程序:
package cn.itcast.heima;

谢谢啦。
作者: THE_FUTURE    时间: 2014-8-26 11:06
:D来了参观一下!
作者: hsy    时间: 2014-8-26 11:47
这个好像是个面试题啊
作者: 备战    时间: 2014-9-19 13:07
顶一个。。
作者: dark_horse_xu    时间: 2014-10-25 20:28
第一个问题,是自己手写一个配置文件吗?

作者: java_dream    时间: 2014-11-28 00:06
Jimmy_Qin 发表于 2014-11-26 14:14
我想问一下这个题目的第一问该咋办呢

我已在楼上写出来了呀
作者: burns    时间: 2014-12-18 20:18
话说这样在论坛嚣张是不是有点:lol反正我是学习了
作者: 蒲公英    时间: 2015-3-17 09:32
java_dream 发表于 2014-8-25 21:36
没抢到首发!
如下程序:
package cn.itcast.heima;

给力{:2_36:}.....
作者: Dana-乌拉拉    时间: 2015-4-5 12:29
学习了!!~~
作者: 怀英    时间: 2015-6-8 20:23
表示第一个问题没有看懂啊,什么叫配置类的完整名称?
作者: 小笼包    时间: 2016-3-2 19:44
还没学到




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