策略模式是一种行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换和独立变化,从而使得算法的变化不会影响到使用算法的客户端。在Java中,策略模式可以通过接口和抽象类来实现。下面是一个使用接口实现策略模式的示例代码:
// 定义策略接口
public interface Strategy {
void execute();
}
// 定义具体策略类
public class ConcreteStrategyA implements Strategy {
@Override
public void execute() {
System.out.println("执行策略A");
}
}
public class ConcreteStrategyB implements Strategy {
@Override
public void execute() {
System.out.println("执行策略B");
}
}
// 定义上下文类
public class Context {
private Strategy strategy;
public Context(Strategy strategy) {
this.strategy = strategy;
}
public void setStrategy(Strategy strategy) {
this.strategy = strategy;
}
public void executeStrategy() {
strategy.execute();
}
}
// 客户端代码
public class Client {
public static void main(String[] args) {
Strategy strategyA =