java单例,工厂模式(附代码)
时间: 2023-11-08 17:50:18 浏览: 40
当然,我可以为你提供关于Java单例和工厂模式的代码示例。以下是一个简单的示例:
```java
// 单例类
public class Singleton {
private static Singleton instance;
// 私有构造方法,防止外部实例化
private Singleton() {
}
// 获取单例实例的方法
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
// 单例类的其他方法
// ...
}
// 工厂类
public class Factory {
// 工厂方法,根据参数创建不同的对象实例
public static Object create(String type) {
if (type.equals("A")) {
return new ObjectA();
} else if (type.equals("B")) {
return new ObjectB();
} else {
return null;
}
}
}
// 示例对象A
public class ObjectA {
// 对象A的属性和方法
// ...
}
// 示例对象B
public class ObjectB {
// 对象B的属性和方法
// ...
}
```
在这个示例中,`Singleton` 类是一个经典的单例类。它使用双重检查锁定来确保只创建一个实例,并通过静态方法 `getInstance()` 返回该实例。
`Factory` 类是一个简单的工厂类,它根据传入的参数类型来创建不同的对象实例。在这个示例中,它根据参数类型 "A" 或 "B" 来创建 `ObjectA` 或 `ObjectB` 的实例。
请注意,这只是一个基本示例,实际使用时可能需要根据具体的需求进行修改和扩展。希望这对你有所帮助!如果你有任何其他问题,请随时提问。