本文共 2101 字,大约阅读时间需要 7 分钟。

public interface Human {       void getColor();    void talk();}   各个人种:
public class YellowHuman implements Human {       @Override    public void getColor() {           System.out.println("YellowHuman is yellow");    }    @Override    public void talk() {           System.out.println("YellowHuman talk");    }}public class WhiteHuman implements Human {       @Override    public void getColor() {           System.out.println("WhiteHuman is white");    }    @Override    public void talk() {           System.out.println("WhiteHuman talk");    }}public class BlackHuman implements Human {       @Override    public void getColor() {           System.out.println("BlackHuman is black");    }    @Override    public void talk() {           System.out.println("BlackHuman talk");    }}   工厂:
public abstract class AbstractHumanFactory {       public abstract         T createHuman(Class          c);}public class HumanFactory extends AbstractHumanFactory {       @Override    public             T createHuman(Class              c) {           T instance = null;        try {               instance = (T) Class.forName(c.getName()).newInstance();        } catch (Exception e) {               System.out.println("创建人类失败");        }        return instance;    }}                         女娲造人:
public class NvWa {       public static void main(String[] args) {           HumanFactory humanFactory = new HumanFactory();        YellowHuman yellowHuman = humanFactory.createHuman(YellowHuman.class);        WhiteHuman whiteHuman = humanFactory.createHuman(WhiteHuman.class);        BlackHuman blackHuman = humanFactory.createHuman(BlackHuman.class);        yellowHuman.getColor();        yellowHuman.talk();        whiteHuman.getColor();        whiteHuman.talk();        blackHuman.getColor();        blackHuman.talk();    }}   定义一个创建对象的接口,让子类决定实例化哪个类。工厂方法使得类的实例化延迟到子类。
有以下特点:
符合以下三个原则;
也叫静态工厂模式。
 
   
转载地址:http://xphwz.baihongyu.com/