使用懒汉单例模式和饿汉单例模式模拟产生本班的班长,并写出客户端代码
时间: 2023-04-12 11:01:31 浏览: 80
好的,我可以回答这个问题。以下是使用懒汉单例模式和饿汉单例模式模拟产生本班的班长的代码:
懒汉单例模式:
```java
public class ClassLeader {
private static ClassLeader instance;
private String name;
private ClassLeader(String name) {
this.name = name;
}
public static synchronized ClassLeader getInstance(String name) {
if (instance == null) {
instance = new ClassLeader(name);
}
return instance;
}
public void introduce() {
System.out.println("我是本班的班长,我的名字是" + name);
}
}
```
饿汉单例模式:
```java
public class ClassLeader {
private static ClassLeader instance = new ClassLeader("张三");
private String name;
private ClassLeader(String name) {
this.name = name;
}
public static ClassLeader getInstance() {
return instance;
}
public void introduce() {
System.out.println("我是本班的班长,我的名字是" + name);
}
}
```
客户端代码:
```java
public class Client {
public static void main(String[] args) {
// 使用懒汉单例模式
ClassLeader leader1 = ClassLeader.getInstance("李四");
leader1.introduce();
ClassLeader leader2 = ClassLeader.getInstance("王五");
leader2.introduce();
// 使用饿汉单例模式
ClassLeader leader3 = ClassLeader.getInstance();
leader3.introduce();
}
}
```
希望这个回答能够帮到你!