模板模式:解决某类事情的步骤有些时固定的,有些时会发生变化的,那么这时候我们可以为这类事情提供一个模板代码,从而提高效率。
需求:编写一个计算程序运行时间的模板,
模板步骤:
1. 先写出解决该类事情,其中在一件解决方案。
2. 分析代码,把会发生的代码抽取出来,独立成一个方法。把该方法描述成一个抽象的方法
3. 使用final修饰模板方法,防止别人重写你的模板方法
package exception;
abstract class MyRuntime{
//保护getTime的模板,用final修饰
public final void getTime() {
long startTime = System.currentTimeMillis();
code();
long endTime = System.currentTimeMillis();
System.out.println("程序运行时间"+(endTime-startTime));
}
//模板类
public abstract void code();
}
public class Demo9 extends MyRuntime{
//重写code方法
public void code() {
for(int i=0;i<1000;i++) {
System.out.println("i="+i);
}
}
public static void main(String[] args) {
Demo9 a = new Demo9();
a.getTime();
}
}