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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 沟门大杏 中级黑马   /  2014-8-25 19:58  /  5914 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 沟门大杏 于 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方法。

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

17 个回复

倒序浏览

回帖奖励 +1

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

评分

参与人数 1黑马币 +2 收起 理由
精灵来了 + 2

查看全部评分

回复 使用道具 举报 1 0
没抢到首发!
如下程序:
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(类的全限定名)

点评

可以详细点吗  发表于 2015-11-15 19:04

评分

参与人数 1黑马币 +2 收起 理由
陈劲松 + 2 很给力!

查看全部评分

回复 使用道具 举报 2 0
路过学习观摩一下~\(≧▽≦)/~~
回复 使用道具 举报
路过学习,最喜欢这样的帖子!
回复 使用道具 举报
{:2_31:}{:2_31:}{:2_31:}{:2_31:}{:2_31:}{:2_31:}
回复 使用道具 举报
java_dream 发表于 2014-8-25 21:36
没抢到首发!
如下程序:
package cn.itcast.heima;

谢谢啦。
回复 使用道具 举报
:D来了参观一下!
回复 使用道具 举报
hsy 中级黑马 2014-8-26 11:47:22
9#
这个好像是个面试题啊
回复 使用道具 举报
顶一个。。
回复 使用道具 举报
第一个问题,是自己手写一个配置文件吗?
回复 使用道具 举报
Jimmy_Qin 发表于 2014-11-26 14:14
我想问一下这个题目的第一问该咋办呢

我已在楼上写出来了呀
回复 使用道具 举报
burns 中级黑马 2014-12-18 20:18:24
13#
话说这样在论坛嚣张是不是有点:lol反正我是学习了
回复 使用道具 举报
java_dream 发表于 2014-8-25 21:36
没抢到首发!
如下程序:
package cn.itcast.heima;

给力{:2_36:}.....
回复 使用道具 举报
学习了!!~~
回复 使用道具 举报
表示第一个问题没有看懂啊,什么叫配置类的完整名称?
回复 使用道具 举报
还没学到
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马