类的组织结构:
最终测试结果:===》
具体代码:
//抽象父类====================== /**使用模板模式: 仿照日志的打印*/ public abstract class F { //抽象方法1 abstract void before(); //抽象方法2 abstract void doMethodlog(); //抽象方法3 abstract void after(); //具体调度方法: 算法的组合 public final void log() { before(); doMethodlog(); after(); } }
//子类1-------------- public class S1 extends F{ @Override void before() { System.out.println("子类s1...before.."); } @Override void doMethodlog() { System.out.println("子类s1...dolog in method.."); } @Override void after() { System.out.println("子类s1...after..."); } }
//子类2-------------- public class S2 extends F{ @Override void before() { System.out.println("子类s2====before.."); } @Override void doMethodlog(){ System.out.println("子类s2====dolog in method.."); } @Override void after() { System.out.println("子类s2====after..."); } }