publicclassFactoryTest{publicstaticvoidmain(String[] args){AbstractFactory miFactory =newXiaoMiFactory();AbstractFactory appleFactory =newAppleFactory();PhoneMiPhone= miFactory.makePhone();// make xiaomi phone!
miFactory.makePC();// make xiaomi PC!
appleFactory.makePhone();// make iphone!
appleFactory.makePC();// make MAC!}}//手机接口及实现类interfacePhone{voidmake();}classMiPhoneimplementsPhone{publicMiPhone(){this.make();}@Overridepublicvoidmake(){// TODO Auto-generated method stubSystem.out.println("make xiaomi phone!");}}classIPhoneimplementsPhone{publicIPhone(){this.make();}@Overridepublicvoidmake(){// TODO Auto-generated method stubSystem.out.println("make iphone!");}}//PC接口及实现类interface PC {voidmake();}classMiPCimplements PC {publicMiPC(){this.make();}@Overridepublicvoidmake(){// TODO Auto-generated method stubSystem.out.println("make xiaomi PC!");}}class MAC implements PC {publicMAC(){this.make();}@Overridepublicvoidmake(){// TODO Auto-generated method stubSystem.out.println("make MAC!");}}//工厂接口实现类interfaceAbstractFactory{PhonemakePhone();PCmakePC();}classXiaoMiFactoryimplementsAbstractFactory{@OverridepublicPhonemakePhone(){returnnewMiPhone();}@OverridepublicPCmakePC(){returnnewMiPC();}}classAppleFactoryimplementsAbstractFactory{@OverridepublicPhonemakePhone(){returnnewIPhone();}@OverridepublicPCmakePC(){returnnewMAC();}}