简单工厂模式又叫做静态工厂模式
其中有三个角色成员
1.抽象角色
2.
具体产品角色
3.
工厂角色
类的结构
具体实现
1、定义抽象角色
//抽象商品角色
interface AbstractProduct {
//抽象方法
void show();
}
2.定义
具体产品角色
public class SpecificProductA implements AbstractProduct{
@Override
public void show() {
// TODO Auto-generated method stub
System.out.println("I am "+getClass().getName());
}
}
3.定义
工厂角色
//静态工厂
public class StaticFactory {
public static AbstractProduct getProduct(
Class<? extends AbstractProduct> clazz) {//利用泛型对参数进行限制,要求参数必须继承AbstractProduct
//1.声明抽象商品
AbstractProduct product = null;
try {
//2.对商品进行反射
product = (AbstractProduct) clazz.newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return product;
}
}
4.主函数中使用
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
AbstractProduct product =null;
product=StaticFactory.getProduct(SpecificProductA.class);
product.show();
product=StaticFactory.getProduct(SpecificProductB.class);
product.show();
product=StaticFactory.getProduct(SpecificProductC.class);
product.show();
}
}
结果: