在Java中,简单工厂模式可以通过以下步骤实现:
1. 首先创建一个接口,表示产品的抽象类,其中定义了产品的一些共同的方法。
```java
public interface Product {
void use();
}
```
2. 实现产品接口的具体产品类,它们实现了产品接口中的方法。
```java
public class ConcreteProductA implements Product {
@Override
public void use() {
System.out.println("使用具体产品A");
}
}
public class ConcreteProductB implements Product {
@Override
public void use() {
System.out.println("使用具体产品B");
}
}
```
3. 创建一个工厂类,用于生产产品对象。工厂类中通常包含一个静态方法,根据传入的参数来实例化具体的产品对象。
```java
public class SimpleFactory {
public static Product createProduct(String type) {
if (type.equalsIgnoreCase("A")) {
return new ConcreteProductA();
} else if (type.equalsIgnoreCase("B")) {
return new ConcreteProductB();
} else {
throw new IllegalArgumentException("Invalid product type: " + type);
}
}
}
```
4. 在客户端代码中,通过调用工厂类的静态方法来获取具体产品对象。
```java
public class Client {
public static void main(String[] args) {
Product productA = SimpleFactory.createProduct("A");
productA.use();
Product productB = SimpleFactory.createProduct("B");
productB.use();
}
}
```
上述代码中,创建了一个简单工厂类SimpleFactory,通过调用createProduct方法,传入不同的类型参数来创建具体的产品对象。客户端代码只需要调用SimpleFactory的静态方法即可获取具体产品对象,并调用其方法进行使用。