package com.wangbiao.test;/** * 模版模式,好比一个业务的流程一样,抽象类大致的设计了流程的步骤,至于怎么去做,那个就是子类去关心的事了。 * 2013/03/29 * @author WangBiao * */public class TemplateTest { public static void main(String[] args) { ACome a=new ACome(); BCome b=new BCome(); //不管是哪个,都是先开门,再进入,至于你是怎么开的门,怎么进去的,那个就是子类关心的了 a.comeIn(); b.comeIn(); }}abstract class ComeIn { //把模版或者流程设计好 public void comeIn() { openDoor(); beginWalk(); } // 开门 public abstract void openDoor(); // 开始迈入 public abstract void beginWalk();}class ACome extends ComeIn{ //开门 @Override public void openDoor() { // TODO Auto-generated method stub System.out.println("用手打开"); } //开始迈入 @Override public void beginWalk() { // TODO Auto-generated method stub System.out.println("慢慢地走进去"); } }class BCome extends ComeIn{ //开门 @Override public void openDoor() { // TODO Auto-generated method stub System.out.println("用脚踹开"); } //开始迈入 @Override public void beginWalk() { // TODO Auto-generated method stub System.out.println("冲进去"); } }