上文说完了Java的单例模式,本文简单讲解Java的工厂模式。
工厂模式,顾名思义,作为一个工厂类,应该提供实例化对象的生产,和单例模式不同,他是多例,且生产对象并不是本身,更能生产多种类型的对象。
直接上代码:
public class Factroy {
public Object create(Class<?> clazz)
{
Object object = null;
if(clazz.getName().equals(BeanA.class.getName()))
{
object = new BeanA();
}
else if(clazz.getName().equals(BeanB.class.getName()))
{
object = new BeanB();
}
return object;
}
}
直接写一个create方法,添加泛型Class对象,利用反射的机制,getName()判断对象的类型,最后达到返回指定实例化对象的效果,测试代码如下:Factroy factroy = new Factroy();
BeanA beanA = (BeanA)factroy.create(BeanA.class);
beanA.say();
测试结果如下: