模板模式:
某些事情的步骤有些是固定的,有些是会放生变化的,那么有时候我们可以为这类事情提供一个模板代码,从而提高效率。
需求:编写一个计算程序运行时间的模板。
模板模式的步骤:
1.先写出解决该类事情其中的一件的解决方案。
2.分析代码,把会发生的代码抽取出来独立成一个方法。把该方法描述成一个抽象的方法。
3.使用final修饰模板方法,防止别人重写模板方法。
/*** Author:Liu Zhiyong* Version:Version_1* Date:2016年6月28日15:15:00* Desc:模板模式: 某些事情的步骤有些是固定的,有些是会放生变化的,那么有时候我们可以为这类事情提供一个模板代码,从而提高效率。 需求:编写一个计算程序运行时间的模板。 模板模式的步骤: 1.先写出解决该类事情其中的一件的解决方案。 2.分析代码,把会发生的代码抽取出来独立成一个方法。把该方法描述成一个抽象的方法。 3.使用final修饰模板方法,防止别人重写模板方法。*/abstract class MyRuntime{ public final void getTime(){ //用final修饰,防止该函数被重写。 //记录开始的时间 long startTime = System.currentTimeMillis(); code(); //记录结束的时间 long endTime = System.currentTimeMillis(); //计算出运行时间 long runTime = endTime - startTime; System.out.println("运行时间是" + runTime + "毫秒"); } public abstract void code(); //变化的代码}class Demo1 extends MyRuntime{ //code方法内部就写要计算运行时间的代码 public void code(){ for(int i=0; i<100; i++){ System.out.println("i=" + i); } } /* public void getTime(){ System.out.println("哈哈哈。。我覆盖你。。重写你的 方法!!!!"); }*/ public static void main(String[] args) { Demo1 d = new Demo1(); d.getTime(); }}