首先我们来看一下什么是工厂模式:
**工厂模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。**
画图理解:
```java
public class Test_工厂 {
public static void main(String[] args) {
//宝马工厂开始生产
Factory bmw= new BMWFactory(); //多态
Car c =bmw.creat(); //多态
Factory benz = new BenzFactory();
Car c2 = benz.creat();
}
}
//定义一个车的接口
interface Car{
//所有的车都要会跑
void run();
}
class BMW implements Car{
@Override
public void run() {
System.out.println("宝马车在路上跑");
}
}
class Benz implements Car{
@Override
public void run() {
System.out.println("奔驰车在路上跑");
}
}
//一个抽象的工厂类,用来造各种各样的车。
//也可以把工厂作为一个接口,不同的车厂去实现这个接口
abstract class Factory {
public abstract Car creat();
}
//定义一个宝马工厂
class BMWFactory extends Factory{
public Car creat() {
return new BMW();
}
}
class BenzFactory extends Factory{
public Car creat() {
return new Benz();
}
}
转载自本人CSND:工厂模式Java详解_qq_44828283的博客-CSDN博客blog.csdn.net