public abstract class Strategy {
public class StrategyImplA extends Strategy{
public void method() {
System.out.println("这是第一个实现"); } }
public class StrategyImplB extends Strategy{
public void method() {
System.out.println("这是第二个实现"); } }
public class StrategyImplC extends Strategy{
public class Context {
Strategy stra;
public Context(Strategy strategy){
this.stra = strategy; }
public void doMethod(){
stra.method(); } }
//测试类
public class Test {
public static void main(String[] args) {
Context ctx = new Context(new StrategyImplA());
ctx.doMethod();
ctx = new Context(new StrategyImplB());
ctx.doMethod();
ctx = new Context(new StrategyImplC());
ctx.doMethod(); } }