说明 定义一个用于创建对象的接口,让子类决定实例化哪个类,工厂方法使一个类的实例化延迟到其子类。 角色 抽象工厂具体工厂抽象产品具体产品产品使用者 代码实现 工厂模式是很多地方常用的模式,即把创建对象的权利交给工厂类来控制 public abstract class CreateClass { public abstract <T> T createProduct(Class<T> c); } public class CreateProductClass extends CreateClass { @Override public <T> T createProduct(Class<T> c) { T t = null; try { t= (T) c.newInstance(); }catch (Exception e){ e.printStackTrace(); } return t; } } public abstract class Product { public abstract void dealService(); } public class MyProduct extends Product { @Override public void dealService() { System.out.println("处理"); } } public class Test { public static void main(String[] args){ CreateProductClass createProductClass = new CreateProductClass(); Product product = createProductClass.createProduct(MyProduct.class); product.dealService(); } }