/*
需求:获取一段程序运行的时间
原理:获取程序开始和结束的时间相减即可。
获取时间:System.currentTimeMillis();
当代码完成优化后,就可以解决这类问题了:
这种方式:模板方法设计模式
什么是模板方法呢?
在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分;
那么这时就将不确定的部分暴漏出去,由该类的子类全完成。
*/
abstract class GetTime
{
public final void getTime()//不让复写
{
long start=System.currentTimeMillis();
runcode();
long end=System.currentTimeMillis();
System.out.println("毫秒:"+(end-start));
}
/*
这段不确定,必然是抽象的,故而类也变成抽象类
public void runcode()
{
}
*/
public abstract void runcode();
}
class SubTime extends GetTime
{
public void runcode()//只复写这一块
{
for (int x=0;x<100 ;x++ )
{
System.out.print(x);
}
}
}
class Demo
{
public static void main(String[] args)
{
//GetTime gt=new GetTime();
SubTime gt=new SubTime();
gt.getTime();//注意调用的还是父类的函数
}
} |
|