先获得class:

Class<?> clazz = Class.forName("net.csdn.What");

1、无参数的构建对象:
Object obj = clazz.newInstance()

2、有参数构建对象:
Constructor<?> con = clazz.getConstructor(String.class, int.class);
Object obj = con.newInstance("quantum", 7);

为什么要使用反射呢?

比如说,一个外部包,有时使用,有时不用(包要删除),那么通过反射,就省了很多麻烦。