/*
需求:求一段代码运行所花费时间。
原理:结束时间减去开始时间。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 Qest extends Demo{
public void function(){
System.out.println("方法");
}
public void getTime(){}
}
public class Test{
public static void main(String[] args){
Qest q=new Qest();
q.getTime();
}
}