简单示例
package baseSome;
/**
* 需求:获取一段程序运行的时间
* 原理:获取程序开始和结束的时间并相减即可
* 获取时间:System.currentTimeMillis();
* @author 董
*当代码完成优化后,就可以解决这类问题
*这种方式,模板方法设计模式
*什么是模板方法呢?
*在定义功能时,功能的一部分是确定的,但是有一部分是不确定,而确定的部分在使用不确定的部分
*那么这时就将不确定的部分暴露出去。
*/
public class AbstractDemo {
public static void main(String[] args) {
//子类调用父类的方法
new SubTime().getTime();
}
}
abstract class GetTime
{
public final void getTime() {
//开始时间获取
long start = System.currentTimeMillis();
//运行程序
runcode();
//结束时间获取
long end = System.currentTimeMillis();
System.out.println();
System.out.println("毫秒:" +(end - start));
}
//这里只是个抽象方法,具体的方法有子类方法体实现
public abstract void runcode();
}
class SubTime extends GetTime
{
public void runcode() {
for(int x = 0 ; x < 5000 ; x++) {
System.out.print(x);
}
}
}
本文通过一个简单示例,介绍了如何使用模板方法设计模式来获取程序运行时间。该模式允许在父类中定义一个算法的骨架,而将某些步骤延迟到子类中实现,使得子类可以在不改变算法结构的情况下,重新定义算法的某些特定步骤。
994

被折叠的 条评论
为什么被折叠?



