简单工厂模式概述
又叫静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例
优点
客户端不需要在负责对象的创建,从而明确了各个类的职责
缺点
这个静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就需要不断的修改工厂类,不利于后期的维护
public class IntegerDemo { public static void main(String[] args) { Animal dog = AnimalFactory.createAnimal("dog"); Animal cat = AnimalFactory.createAnimal("cat"); Animal pig = AnimalFactory.createAnimal("pig"); if (dog != null) { dog.eat(); } else { System.out.println("无法创建"); } if (cat != null) { cat.eat(); } else { System.out.println("无法创建"); } if (pig != null) { pig.eat(); } else { System.out.println("无法创建"); } } } abstract class Animal {// 抽象类 public abstract void eat(); } class Dog extends Animal {// 狗 public void eat() { System.out.println("a dog is eatting."); } } class Cat extends Animal {// 猫 public void eat() { System.out.println("a cat is eatting."); } } class AnimalFactory {// 动物工厂 private AnimalFactory() {// 把构造方法改成private } public static Animal createAnimal(String s) { if ("dog".equals(s)) { return new Dog(); } else if ("cat".equals(s)) { return new Cat(); } else { return null; } } }