Java 设计模式-工厂模式

1.工厂模式

  工厂模式的意思就是,我们想要产生什么类的对象,我直接丢给工程类,让工厂统一给我们创建,而不是直接来创建。

2.代码

  统一的接口,也就是说,能够被工厂类产生对象的类,必须实现统一的接口。

public interface Fruits {
     public void generate();
}

  能够被工厂产生对象的类,这些类都实现了上面的接口

package com.example.DesignPattern.FactoryPattern;

public class Apple implements Fruits{

    @Override
    public void generate() {
        System.out.println("生成苹果了");
    }

}
package com.example.DesignPattern.FactoryPattern;

public class Pear implements Fruits {

    @Override
    public void generate() {
        System.out.println("生成梨了");
    }

}

  工厂类,用来产生对应的对象的

package com.example.DesignPattern.FactoryPattern;

public class Factory {
    public static Fruits createNewInstance(String className)
    {
        Fruits fruits = null;
        try {
            fruits = (Fruits) Class.forName(className).newInstance();
        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if(fruits == null)
        {
            throw new NullPointerException();
        }
        return fruits;
    }
}

   测试类

package com.example.DesignPattern.FactoryPattern;

public class Test {
    public static void main(String[] args) {
        Apple apple = (Apple) Factory.createNewInstance(Apple.class.getName());
        Pear pear = (Pear) Factory.createNewInstance(Pear.class.getName());
    }
}

你可能感兴趣的:(Java 设计模式-工厂模式)