java单例,工厂模式
时间: 2023-08-15 10:13:12 浏览: 115
java 单例模式和工厂模式实例详解.docx
在Java中,单例模式和工厂模式是常用的设计模式之一。
单例模式用于确保一个类只有一个实例,并提供全局访问点。这在需要共享资源或限制创建对象数量的情况下非常有用。以下是一个简单的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;
}
}
```
在上面的示例中,私有的构造函数防止了直接实例化对象。通过静态方法`getInstance()`来获取类的唯一实例。这里使用了双重检查锁定机制,以确保线程安全。
工厂模式用于创建不同类型的对象,而不需要暴露对象创建的逻辑。它通过定义一个工厂类来封装对象的创建过程。以下是一个简单的Java工厂模式示例:
```java
public interface Product {
void doSomething();
}
public class ConcreteProduct implements Product {
@Override
public void doSomething() {
System.out.println("Doing something in ConcreteProduct.");
}
}
public class ProductFactory {
public static Product createProduct() {
return new ConcreteProduct();
}
}
```
在上面的示例中,`Product`接口定义了产品的行为,`ConcreteProduct`是具体的产品实现类。`ProductFactory`是工厂类,通过`createProduct()`方法创建产品实例并返回。
使用工厂模式,客户端可以通过工厂类来创建产品,而不需要直接与具体的产品类耦合在一起。这样可以方便地扩展和切换不同类型的产品。
阅读全文