java静态工厂案例
时间: 2023-08-01 12:07:36 浏览: 95
下面是一个简单的Java静态工厂的案例:
```java
public interface Car {
void drive();
}
public class Sedan implements Car {
@Override
public void drive() {
System.out.println("Driving a sedan car.");
}
}
public class SUV implements Car {
@Override
public void drive() {
System.out.println("Driving an SUV.");
}
}
public class CarFactory {
public static Car createCar(String type) {
if (type.equalsIgnoreCase("sedan")) {
return new Sedan();
} else if (type.equalsIgnoreCase("suv")) {
return new SUV();
}
throw new IllegalArgumentException("Invalid car type: " + type);
}
}
public class Main {
public static void main(String[] args) {
Car sedan = CarFactory.createCar("sedan");
sedan.drive(); // Output: Driving a sedan car.
Car suv = CarFactory.createCar("suv");
suv.drive(); // Output: Driving an SUV.
}
}
```
在上述示例中,我们定义了一个`Car`接口和两个实现类`Sedan`和`SUV`。`CarFactory`是一个静态工厂类,通过`createCar`静态方法根据传入的参数来创建不同类型的汽车对象。在`Main`类中,我们通过调用`CarFactory.createCar`方法来创建不同类型的汽车对象,并调用其`drive`方法进行驾驶。
通过静态工厂模式,我们可以根据需要灵活地创建不同类型的汽车对象,同时隐藏了具体的创建细节,使代码更加清晰和可维护。
阅读全文