单例工厂类怎么创建对象
时间: 2023-09-20 12:12:15 浏览: 57
单例工厂类创建对象的方式与普通工厂类类似,只是单例工厂类的实例化和对象创建都在同一个类中完成。具体实现方式如下:
1. 首先定义一个单例工厂类,该类需要实现单例模式的要求,即只能创建一个实例。通常可以通过私有化单例工厂类的构造函数和提供一个静态方法来实现单例模式。
2. 在单例工厂类中定义一个工厂方法,该方法根据传入的参数创建对应的对象,并返回该对象。
3. 在客户端代码中,调用单例工厂类的工厂方法来创建所需的对象。由于单例工厂类是全局唯一的,因此也保证了所创建的对象是唯一的。
示例代码如下:
```java
public class SingletonFactory {
private static SingletonFactory instance = new SingletonFactory();
private SingletonFactory() {
// 私有构造函数
}
public static SingletonFactory getInstance() {
return instance;
}
public Object createObject(String objectType) {
// 根据传入的参数创建对应的对象并返回
if (objectType.equals("TypeA")) {
return new TypeA();
} else if (objectType.equals("TypeB")) {
return new TypeB();
} else {
return null;
}
}
}
// 客户端代码
Object obj = SingletonFactory.getInstance().createObject("TypeA");
```
在上面的示例代码中,SingletonFactory 是一个单例工厂类,它通过 getInstance() 方法返回唯一的实例。createObject() 方法是工厂方法,根据传入的参数创建对应的对象并返回。在客户端代码中,我们可以通过 SingletonFactory.getInstance().createObject() 方法来创建所需的对象。