工厂模式是根据不同的参数来创建对象。其框图为:
package humanfactory;
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;
}
public static void main(String[] args)
{
}
}
java标准库中用工厂模式的有:
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)