你现在是一个Java语言方面的资深程序员,需要你写 一段包含单例模式和策略模式的代码
时间: 2024-03-03 16:49:11 浏览: 113
好的,这是一段包含单例模式和策略模式的Java代码:
```java
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
public interface Strategy {
void execute();
}
public class StrategyOne implements Strategy {
@Override
public void execute() {
System.out.println("执行策略一");
}
}
public class StrategyTwo implements Strategy {
@Override
public void execute() {
System.out.println("执行策略二");
}
}
public class Context {
private Strategy strategy;
public Context(Strategy strategy) {
this.strategy = strategy;
}
public void executeStrategy() {
strategy.execute();
}
}
```
在这段代码中,`Singleton`类是一个单例模式的实现,保证了该类只能创建一个实例。`Strategy`接口是一个策略模式的抽象,其中包含了一个`execute()`方法。`StrategyOne`和`StrategyTwo`是`Strategy`接口的具体实现,分别实现了不同的策略。`Context`类包含了一个`Strategy`类型的成员变量,并且通过构造函数初始化该成员变量。它还包含了一个`executeStrategy()`方法,用于执行当前策略的`execute()`方法。
相关推荐
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)