/*
需求:求一段代码运行所花费时间
原理:结束时间-开始时间 System.currentTimeMillis()
什么是模板方法设计模式?
**定义功能时,功能的一部分是确定,而确定的部分在使用不确定,
那么这时就得将不确定的部分暴露出去,由该子类去完成。**
*/
abstract class Demo{
public final void getTime(){
long start =System.currentTimeMillis();//1秒=1000毫秒
function();
long stop =System.currentTimeMillis();
System.out.println("共花费了"+(stop-start));
}
public abstract void function();
}
class Test extends Demo{
public void function(){
for(int i=0;i<1000;i++){
System.out.print("f");
}
}
}
public class A6_60{
public static void main(String[] args){
Test t=new Test();
t.getTime();
}
}
**本代码,运用了抽象类的方法,子类Test继承了父类Demo,重写了父类中的function方法。
父类中的getTime方法为final方法,不能被外部修改,此方法是固定的,此方法调用同在父类中的function方法,function方法是对外测试的代码,此方法给使用者可以从子类重写,测试使用者需要测试的方法。
此段代码用用的知识点有:**
1:继承
2:多态(Demo t=new Test())
3 : 抽象类
4:模板设计方法思想