模板设计方法
为了解决某类事情提出的解决方法
计算一段代码执行的时间
class Demo {
// 计算一段程序的运行时间
public static void runtime() {
long starttime = System.currentTimeMillis();
for (int i = 0; i < 1000; i++) {
System.out.println("i:" + i);
}
long endtime = System.currentTimeMillis();
System.out.println("该程序运行的时间为" + (endtime - starttime));
}
public static void main(String[] args) {
runtime();
}
}
// 存在问题:
// 1.计算的程序是可变的
// 2.把会改变的程序抽取出来单独做一个方法
// 3.但是该方法不能确定运行的代码,申明为抽象的方法
// 4.创建实现类继承并实现父类的未实现的函数
// 5.为了避免子类重写父类的模板代码,需要将模板代码修改为final
abstract class Runcode {
private final void getRuntime() {
long start = System.currentTimeMillis();
code();
long end = System.currentTimeMillis();
System.out.println("运行时间" + (end - start));
}
public abstract void code();
}