package 主要内容;
/**
* 需求:获取一段程序运行的时间
* 原理:获取程序开始和结束的时间并相减即可
* 获取时间:System.currentTimeMillis();
*
*当代码完成优化后,就可以解决这类问题
*这种方式,模板方法设计模式
*
*什么是模板方法设计模式呢?
*在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分
*那么这时就将不确定的部分暴漏出去。由该类的子类去完成
*/
abstract class GetTime
{
public final void getTime()//用final把这个封起来,不允许建立对象复写
{
long start=System.currentTimeMillis();
run();
long end=System.currentTimeMillis();
System.out.println("毫秒="+(end-start));
}
public abstract void run(); //抽象时间方法,让子类去复写
}
class SubTime extends GetTime//继承父类,上面的父类一个是final封起来的,一个是抽象的
{
public void run()//定义时间方法
{
for(int x=0;x<=8000;x++)
{
System.out.println(x);
}
}
}
public class 模板方法模式
{
public static void main(String[] args)
{
//GetTime t=new GetTime();
SubTime t=new SubTime();//建立子类对象
t.getTime();//获取时间
}
}
|
|