/** * 普通工厂方法:每个对象都会有一个工厂类进行生产,例如小米手机由纬创公司代工生产,苹果手机由富士康代工生产,也就是每个工厂只会生产一种对象 * 模式特点:1.拥有一个对象接口(手机接口)和该对象接口的几个实现类(小米手机,苹果手机) * 2.拥有一个工厂接口(手机工厂)和该接口的几个实现类(纬创工厂,富士康工厂) */ //创建手机接口 public interface Phone { void call(); } //苹果手机 public class Iphone implements Phone { @Override public void call() { System.out.println("使用苹果手机打电话"); } } //小米手机 public class MIPhone implements Phone { @Override public void call() { System.out.println("使用小米手机打电话"); } } //工厂接口 public interface PhoneFactory { Phone createPhone(); } //生产小米手机的工厂如纬创 public class MiPhoneFactory implements PhoneFactory { @Override public Phone createPhone() { return new MIPhone(); } } //生产苹果手机的工厂,如富士康 public class IPhoneFactory implements PhoneFactory { @Override public Phone createPhone() { return new Iphone(); } } class test{ public static void main(String[] args) { PhoneFactory iPhoneFactory = new IPhoneFactory(); Phone iphone = iPhoneFactory.createPhone(); iphone.call(); PhoneFactory miPhoneFactory = new MiPhoneFactory(); Phone miPhone = miPhoneFactory.createPhone(); miPhone.call(); } }