// 模板类publicabstractclassTemplate{/**
* 计算 job 方法的耗时
*/publicvoidcalculateTime(){long start =System.currentTimeMillis();job();long end =System.currentTimeMillis();System.out.println("耗费了 "+(end - start)+" ms");}publicabstractvoidjob();}// 子类 1publicclassJob01extendsTemplate{@Overridepublicvoidjob(){for(int i =1; i <1000000; i++){int a = i;}}}// 子类 2publicclassJob02extendsTemplate{@Overridepublicvoidjob(){for(int i =1; i <1000000; i++){int a = i * i / i;}}}// 测试类publicclassMain{publicstaticvoidmain(String[] args){Job01 job01 =newJob01();
job01.calculateTime();Job02 job02 =newJob02();
job02.calculateTime();}}// 结果
耗费了 1 ms
耗费了 3 ms