先写好ReflectPoint类:
public class ReflectPoint
{
private int x;
public int y;
public ReflectPoint(int x, int y)
{
super();
this.x = x;
this.y = y;
}
}
在工程中新建File,写好配置文件config.properties
className=java.util.ArrayList
最后写ReflectTest类:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.Collection;
import java.util.HashSet;
import java.util.Properties;
public class ReflectTest
{
public static void main(String[] args) throws Exception
{
InputStream ips=new FileInputStream("config.properties");
//Properties 类表示了一个持久的属性集。
//Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
Properties props=new Properties();
//load(),从输入流中读取属性列表(键和元素对)。
props.load(ips);
ips.close();
//getProperty(),用指定的键在此属性列表中搜索属性。
String className=props.getProperty("className");
Collection collections=(Collection)Class.forName(className).newInstance();
ReflectPoint pt1=new ReflectPoint(3,3);
ReflectPoint pt2=new ReflectPoint(5,5);
ReflectPoint pt3=new ReflectPoint(3,3);
collections.add(pt1);
collections.add(pt2);
collections.add(pt3);
System.out.println(collections.size());
}
}
运行结果如下: