用懒汉单例模式模式和饿汉单例模式模式模拟产生本班的班长
时间: 2023-04-12 22:01:41 浏览: 145
我可以回答这个问题。懒汉单例模式是在需要时才创建实例,而饿汉单例模式是在程序启动时就创建实例。对于模拟产生本班的班长,我们可以使用饿汉单例模式,因为班长是在班级成立时就已经确定了。以下是一个简单的示例代码:
```java
public class ClassPresident {
private static ClassPresident instance = new ClassPresident();
private ClassPresident() {}
public static ClassPresident getInstance() {
return instance;
}
public void lead() {
System.out.println("I am the class president and I will lead the class to success!");
}
}
```
在这个示例中,我们使用了私有的构造函数和静态的实例变量来实现饿汉单例模式。通过调用 `getInstance()` 方法,我们可以获取到唯一的班长实例,并调用 `lead()` 方法来展示班长的领导能力。
相关问题
使用懒汉单例模式和饿汉单例模式模拟产生本班的班长
可以使用懒汉单例模式和饿汉单例模式来模拟产生本班的班长。懒汉单例模式是在需要时才创建实例,而饿汉单例模式是在类加载时就创建实例。以下是懒汉单例模式和饿汉单例模式的示例代码:
懒汉单例模式:
```
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;
}
}
```
以上是产生本班的班长的两种单例模式的实现方式。
阅读全文