模板方法模式
/*
需求:获取一段程序运行的时间
原理:获取程序开始和结束的时间并相减
获取时间:System.currentTimeMillis();
当代码完成优化后,就可以解决这类问题。
什么是模板方法?在定义功能时,功能的一部分是确定的,但是有一部分是不确定,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去,由该类的子类去完成。
*/
方式一:
class GetTime
{
public void getTime()
{
long start = System.currentTimeMillis();
for(int i=0;i<1000;i++)
{
System.out.println(i);
}
long end = System.currentTimeMillis();
System.out.println("毫秒:"+(start-end));
}
}
方式二:
abstract
class GetTime
{
public
final
void getTime()//final,防止该方法被重写
{
long start = System.currentTimeMillis();
runcode();//程序中不确定的部分,将其暴露出去
long end = System.currentTimeMillis();
System.out.println("毫秒:"+(start-end));
}
public
abstract void runcode();//该功能由子类重写去实现
}
class SubTime extends GetTime
{
public void runcode()
{
for(int i=0;i<1000;i++)
{
System.out.println(i);
}
}
}