代码
// 模板方法模式 举例 public class BankTemplateMethod { public static void main(String[] args) { BankTemplate temp = new DrawMoney(); temp.process(); } } //父类 abstract class BankTemplate{ public void takeNumber() { System.out.println("排队取号"); } //具体办理的业务 --> 钩子方法 public abstract void transact(); public void evaluate() { System.out.println("反馈评分"); } //模板方法 , 把基本操作组合在一起 , 且子类不能重写 public final void process() { this.takeNumber(); this.transact(); this.evaluate(); } } //子类 class DrawMoney extends BankTemplate{ @Override public void transact() { System.out.println("我要取钱!"); } } class ManageMoney extends BankTemplate{ @Override public void transact() { System.out.println("我要理财!"); } }