很简单的三段代码,但可以让人很容易领悟到工厂模式的妙用,一般来说,我们创建对象都是用new 创建对象,但是当所需要创建的对象很多时,我们不可能一个一个创建,这样太复杂,而且容易出错,着时候就诞生了工厂模式,我们只需要调用一个方法,就能源源不断的创建对象,有利于增强语言的健壮性,下面直接看代码
package com.test.csdn;
public class Student {
/*public Student(String str) {
}*/
}
package com.test.csdn;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import javax.rmi.ssl.SslRMIClientSocketFactory;
public class Factory {
public static Object newInstance(Class clazz) throws NoSuchMethodException {
Object object = null;
try {
Constructor constructor= clazz.getConstructor();
object = constructor.newInstance();//创建对象
} catch (NoSuchMethodException | SecurityException e) {
throw new NoSuchMethodException(clazz.getName()+"类缺少无参构造方法");
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return object;
}
}
package com.test.csdn;
public class Test{
public static void main(String[] args) throws NoSuchMethodException {
Object obj = Factory.newInstance(Student.class);
System.out.println(obj);
}
}