//模板方法:步骤提前设计好,用的时候只需要改步骤内容 public class TemplateDemo { public static void main(String[] args) { // TODO Auto-generated method stub teacher DBtea = new DBTeacher(); teacher Ctea = new CTeacher(); DBtea.work(); Ctea.work(); } } abstract class teacher{ public void prepared() { System.out.println("整理资料"); System.out.println("打开投影仪"); } public abstract void teaching();//抽象方法,子类需重写 public void end() { System.out.println("关闭投影仪"); System.out.println("带走资料"); } //老师的工作流程/模板方法 public void work() { prepared();//课前准备,每个老师都一样 teaching();//讲课 end();//结束,每个老师都一样 } } class DBTeacher extends teacher{ public void teaching() { System.out.println("打开oracle"); System.out.println("写pl-sql"); } } class CTeacher extends teacher{ public void teaching() { System.out.println("打开VM"); System.out.println("写C指令"); } }