/* 模板设计模式:实现一个功能时,功能的一部分是确定的,一部分是不确定的,确定的部分还会用到 不确定的部分,那么就把不确定的部分暴露出去,让子类去实现 实现计算一个程序的运行时间: 记录一个开始时间和一个结束时间,两个时间相减就是运行时间 */ abstract class CalTime { public final void runTime() { //记录开始时间 long start=System.currentTimeMillis(); fun(); //记录结束时间 long end=System.currentTimeMillis(); System.out.println("程序运行时间为:"+(end-start)); } public abstract void fun(); } class MyTest extends CalTime { public void fun() { for(int i=1;i<=3000;i++) { System.out.println(i); } } } class Demo17 { public static void main(String[] args) { MyTest t=new MyTest(); t.runTime(); } }