使用懒汉单例模式和饿汉单例模式模拟产生本班的班长,并写出完整代码
时间: 2023-04-12 18:00:57 浏览: 257
好的,以下是使用懒汉单例模式和饿汉单例模式模拟产生本班的班长的完整代码:
懒汉单例模式:
```java
public class ClassLeader {
private static ClassLeader instance;
private ClassLeader() {}
public static synchronized ClassLeader getInstance() {
if (instance == null) {
instance = new ClassLeader();
}
return instance;
}
}
```
饿汉单例模式:
```java
public class ClassLeader {
private static final ClassLeader instance = new ClassLeader();
private ClassLeader() {}
public static ClassLeader getInstance() {
return instance;
}
}
```
请注意,这里的代码仅供参考,实际应用中需要根据具体情况进行修改和优化。
相关问题
使用懒汉单例模式和饿汉单例模式模拟产生本班的班长,并写出客户端代码
好的,我可以回答这个问题。以下是使用懒汉单例模式和饿汉单例模式模拟产生本班的班长的代码:
懒汉单例模式:
```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();
}
}
```
希望这个回答能够帮到你!
使用懒汉单例模式和饿汉单例模式模拟产生本班的班长
可以使用懒汉单例模式和饿汉单例模式来模拟产生本班的班长。懒汉单例模式是在需要时才创建实例,而饿汉单例模式是在类加载时就创建实例。以下是懒汉单例模式和饿汉单例模式的示例代码:
懒汉单例模式:
```
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;
}
}
```
阅读全文