本帖最后由 NNERO 于 2014-4-16 19:22 编辑
- //InputStream ips = new FileInputStream("config.properties");//父类创建子类对象
-
- InputStream ips = ReflectDemo2.class.getResourceAsStream("reflectpratice/config.proerties");
- Properties props = new Properties();//使用properties提取键值对
-
- props.load(ips);
- ips.close();
- String className = props.getProperty("className");
-
- Collection collections = (Collection)Class.forName(className).newInstance();//使用反射创建对象
-
- ReflectPoint r1 = new ReflectPoint(5,5);//创建对象
- ReflectPoint r2 = new ReflectPoint(6,4);
- ReflectPoint r3 = new ReflectPoint(5,5);
-
- collections.add(r1);//添加对象到集合中
- collections.add(r2);
- collections.add(r3);
-
- System.out.println(collections.size());//打印集合中对象的数量
复制代码 2个问题:
第一个问题://InputStream ips = new FileInputStream("config.properties");//父类创建子类对象 这里为何要用父类创建子类,有什么好处?
第二个问题:这个程序运行出错:
Exception in thread "main" java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:434)
at java.util.Properties.load0(Properties.java:353)
at java.util.Properties.load(Properties.java:341)
at reflectpractice.ReflectDemo2.main(ReflectDemo2.java:15)
不知道 怎么的。可能是路径问题,但是我解决不了。Eclipse的classpath路径是在哪儿。。?
|