一 代码
// 抽象产品(Abstract Product)角色interface Block { public void print();}// 具体产品角色class IBlock implements Block { public void print() { System.out.println("我是一个I形的方块!"); }}// 具体产品角色class LBlock implements Block { public void print() { System.out.println("我是一个L形的方块!"); }}// 工厂(Factory)角色class Factory { public static Block getInstance( String className ) { switch (className) { case "IBlock": return new IBlock(); case "LBlock": return new LBlock(); default: return null; } }}// 客户端public class TestSimpleFactory { public static void main( String[] args ) { Block iBlock = Factory.getInstance("IBlock");// 用工厂生产一个 I 形方块 iBlock.print(); Block lBlock = Factory.getInstance("IBlock");// 用工厂生产一个 L 形方块 lBlock.print(); }}
二 运行
我是一个I形的方块!我是一个I形的方块!