package design.patterns.factory;
/**
* 类名: factory
* 描述:
* 日期: 2022/6/29-11:09
* 这是一个绝妙的类
* @author 林建辉
*/
public class Factory {
private Factory() {
}
/**
* @param clazz
* 具体实现子类的class对象
* 被反射的类最好提供无参构造方法
* @param <T>
* @return
*/
public static <T> T getInstance(Class<T> clazz) {
T instance = null;
try {
instance = (T) Class.forName(clazz.getName()).getDeclaredConstructor().newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return instance;
}
public static <T> T getInstance2(Class<T> clazz) {
T instance = null;
try {
instance = (T) clzz.getDeclaredConstructor().newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return instance;
}
}
你现在多努力一分,以后老婆就多漂亮一分!