使用单例模式的思想实现多例模 式,确保系统中某个类的对象只能存在有限个,如 两个或三个,设计并编写代码实现一个多例类。
时间: 2024-09-13 19:11:45 浏览: 93
使用单例模式的思想扩展到多例模式,通常被称为“有限实例”或多例模式的一种变体。这种模式限制了系统中的某个类能够创建的实例数,比如限制为两个或三个。下面是通过枚举类型实现的一个简单例子,假设我们有一个名为`LimitedInstance`的类:
```java
public enum LimitedInstance {
INSTANCE1,
INSTANCE2;
// 如果需要添加更多实例,可以继续声明,例如:
// INSTANCE3,
private final MyService myService;
LimitedInstance() {
myService = new MyService();
}
public MyService getService() {
return myService;
}
}
// 定义服务类
class MyService {
// 实现具体业务逻辑
}
// 在需要的地方获取唯一的服务实例
public class UsageExample {
public static void main(String[] args) {
LimitedInstance.INSTANCE1.getService(); // 获取第一个实例的服务
LimitedInstance.INSTANCE2.getService(); // 获取第二个实例的服务
// 尝试获取超过已声明实例的数量会返回默认的INSTANCE1或INSTANCE2
LimitedInstance.INSTANCE3.getService(); // 这里会返回INSTANCE1或INSTANCE2,而非新的实例
}
}
```
在这个例子中,`LimitedInstance`枚举类型维护了有限数量的实例,并通过每个实例的`myService`字段提供所需的服务。这种方式确保了系统中不会无限制地创建此类对象。
阅读全文