package pattern.strategy; public abstract class Operate { public abstract void operate(); } package pattern.strategy; public class Read extends Operate { @Override public void operate() { // TODO Auto-generated method stub System.out.println("Reading..."); } } package pattern.strategy; public class Write extends Operate { @Override public void operate() { // TODO Auto-generated method stub System.out.println("Writing..."); } } package pattern.strategy; public class Action { private Operate o; public Action(Operate o){ this.o = o; } public void doAction(){ o.operate(); } public static void main(String args[]){ Action o = new Action(new Read()); o.doAction(); // Reading... Action o2 = new Action(new Write()); o2.doAction(); // Writing... } }