创建类
package classlode;
/**
* * * GOOK LUCK * *
*
* @Author by wukainian,
* @Date on 2019/2/22.
*/
public class Systemlike {
public Systemlike(String name) {
this.name = name;
}
private String name;
public void getString() {
System.out.println("sa");
}
public String syd() {
return "Hello";
}
}
package classlode;
import java.lang.reflect.Constructor;
import java.util.HashMap;
import java.util.Map;
/**
* * * GOOK LUCK * *
*
* @Author by wukainian,
* @Date on 2019/2/22.
*/
public class ObjectPool {
private Map<String,Object> map = new HashMap<>();
/**
*普通的创建Class方式
* @param clazzName
* @return
* @throws Exception
*/
public Object createObject(String clazzName) throws Exception{
Class<?> clazz = Class.forName(clazzName);
return clazz.newInstance();
}
/**
* 1 中的String.class 表示需要指定对象的构造参数类型
* 2 中的“a” 是将"a"作为改构造参数的值
* @param clazzName
* @return
* @throws Exception
*/
public Object createObject1(String clazzName) throws Exception{
Class<?> clazz = Class.forName(clazzName);
//1
Constructor constructor = clazz.getConstructor(String.class);
//2
return constructor.newInstance("a");
}
}
测试结果