使用懒汉单例模式和饿汉单例模式模拟产生本班的班长
时间: 2023-04-12 17:01:30 浏览: 156
可以使用懒汉单例模式和饿汉单例模式来模拟产生本班的班长。懒汉单例模式是在需要时才创建实例,而饿汉单例模式是在类加载时就创建实例。以下是懒汉单例模式和饿汉单例模式的示例代码:
懒汉单例模式:
```
public class ClassPresident {
private static ClassPresident instance;
private ClassPresident() {}
public static synchronized ClassPresident getInstance() {
if (instance == null) {
instance = new ClassPresident();
}
return instance;
}
}
```
饿汉单例模式:
```
public class ClassPresident {
private static ClassPresident instance = new ClassPresident();
private ClassPresident() {}
public static ClassPresident getInstance() {
return instance;
}
}
```
相关问题
使用懒汉单例模式和饿汉单例模式模拟产生本班的班长。
可以使用以下代码实现懒汉单例模式:
```java
public class ClassPresident {
private static ClassPresident instance;
private ClassPresident() {}
public static synchronized ClassPresident getInstance() {
if (instance == null) {
instance = new ClassPresident();
}
return instance;
}
}
```
可以使用以下代码实现饿汉单例模式:
```java
public class ClassPresident {
private static final ClassPresident instance = new ClassPresident();
private ClassPresident() {}
public static ClassPresident getInstance() {
return instance;
}
}
```
以上是产生本班的班长的两种单例模式的实现方式。
单例模式设计实验 使用懒汉单例模式和饿汉单例模式模拟产生本班的班长。请生成设计图。
单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问该实例。在单例模式中,类自身负责创建自己的唯一实例,并确保只有一个实例被创建。
懒汉单例模式是指在需要使用实例时才进行实例化,而不是在类加载时就进行实例化。懒汉单例模式的实现方式通常是在类中定义一个私有的静态成员变量作为实例,然后提供一个公共的静态方法来获取该实例。在获取实例的方法中,首先判断实例是否已经存在,如果不存在则进行实例化。
饿汉单例模式是指在类加载时就进行实例化,而不是在需要使用实例时才进行实例化。饿汉单例模式的实现方式通常是在类中定义一个私有的静态成员变量作为实例,并在类加载时就进行实例化。在获取实例的方法中,直接返回该静态成员变量。
以下是懒汉单例模式和饿汉单例模式的设计图:
懒汉单例模式设计图:
```
+--+
| SingletonLazy |
+--+
| - instance: SingletonLazy |
+--+
| + getInstance(): SingletonLazy |
+--+
```
饿汉单例模式设计图:
```
+--+
| SingletonHungry |
+--+
| + instance: SingletonHungry |
+--+
| + getInstance(): SingletonHungry |
+--+
```
阅读全文