工厂模式
工厂模式是根据不同的参数创建对象。例如用工厂创建人。 如果我们想要一个男孩,工厂就会为我们生产一个男孩;如果我们需要一个女孩,工厂则会为我们生产一个女孩。工厂会根据不同的参数,为我们提供不同的物品。
工厂模式类图
工厂模式示例代码
interface Human { public void Talk(); public void Walk(); } class Boy implements Human{ @Override public void Talk() { System.out.println("Boy is talking..."); } @Override public void Walk() { System.out.println("Boy is walking..."); } } class Girl implements Human{ @Override public void Talk() { System.out.println("Girl is talking..."); } @Override public void Walk() { System.out.println("Girl is walking..."); } } public class HumanFactory { public static Human createHuman(String m){ Human p = null; if(m == "boy"){ p = new Boy(); }else if(m == "girl"){ p = new Girl(); } return p; } }
工厂模式在Java标准库中的应用
根据不同的参数,getInstance()方法会返回不同的Calendar(日历)对象。
java.util.Calendar – getInstance()
java.util.Calendar – getInstance(TimeZone zone)
java.util.Calendar – getInstance(Locale aLocale)
java.util.Calendar – getInstance(TimeZone zone, Locale aLocale)
java.text.NumberFormat – getInstance()
java.text.NumberFormat – getInstance(Locale inLocale)