黑马程序员技术交流社区

标题: 关于反射的问题,大家帮我看看啊 [打印本页]

作者: 游洪波    时间: 2012-6-30 10:02
标题: 关于反射的问题,大家帮我看看啊
这个是config。properties中的内容
className=text8.DemoClass
这个是text8。DemoClass类中的内容
package text8;

public class DemoClass {
          public DemoClass(){
                  
          }
          public void run()
          {
             System.out.println("welcome to heima!");
          }   
   }
下边是Test类中的代码

public class Test {

        /**
         * @param args
         */
        public static void main(String[] args) throws Exception{
                // TODO Auto-generated method stub
                InputStream ips=new FileInputStream("config.properties");
                Properties ps=new Properties();
                ps.load(ips);
                ips.close();
                System.out.println(ps.getProperty("className"));
                String className=ps.getProperty("className");
                Collection collections=(Collection)Class.forName(className).newInstance();//这句话一直出异常,不知道怎么回事啊。。。               
       
        }

}
异常信息。。。。
Exception in thread "main" java.lang.ClassCastException: text8.DemoClass cannot be cast to java.util.Collection
        at text8.Test.main(Test.java:22)

作者: 许涛    时间: 2012-6-30 10:52
Collection collections=(Collection)Class.forName(className).newInstance();  改成

DemoClass obj = (DemoClass)Class.forName(className).newInstance();

或者用Constructor中的实例化对象的方法分两句写
Constructor constructor = Class.forName(className).getConstructor()
DemoClass obj = (DemoClass)constructor.newInstance();





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