概要
java工厂模式的设计初衷是为了将创建对象这一部分操作,通过一个类专门来进行管理。其中主要也是利用了java继承的多态原则来进行实现
特点
1、需要被创建的实例必须继承自相同的抽象基类或接口类
2、工厂类采用静态方法将创建对象的方法抛出
示例如下:
package com.ggr;
public class FactoryTest {
public static void main(String[] args) {
Animal animal = Factory.getAnimalInstance("Tiger");
animal.talk();
Animal animal = Factory.getAnimalInstance("Lion");
animal.talk();
}
}
abstract class Animal{
abstract void talk();
}
class Tiger extends Animal{
@Override
void talk() {
System.out.println("this is Tiger saying");
}
}
class Lion extends Animal{
@Override
void talk()
{
System.out.println("this is lion saying");
}
}
class Factory
{
public static Animal getAnimalInstance(String type)
{
Animal animal = null;
switch (type)
{
case "Tiger":
animal = new Tiger();
break;
case "Lion":
animal = new Lion();
break;
default:
break;
}
return animal;
}
}
注:这里采用抽象类的方法来作为基类,如果使用接口,则代码类似



