A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 真实姓名被注册 中级黑马   /  2015-8-7 00:41  /  296 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

需求:获取一段程序运行的时间。原理:获取程序开始和结束的时间并相减即可。
abstract class gettime{
//该方法不能被覆盖,用final修饰
        public final void gettime(){
  long start=System.currentTimeMillis();
  runcode();//调用子类的具体实现的方法
  long end=System.currentTimeMillis();
  System.out.println("耗时"+(end-start)+"毫秒");
}
public abstract void runcode();//方法体不明确,交由子类具体实现
}
class sub extends gettime{
public void runcode(){
  for(int i=0;i<500;i++)
   System.out.println(i);
}
public static void main(String[] args){
  new sub().gettime();
}
}
  上例展示了模板方法设计模式。在定义功能时,功能的一部分是确定的,但是有一部分是不确定的。而确定的部分在使用不确定的部分,这时,就将不确定的部分暴露出去由该类的子类去完成,提高了扩展性和复用性。模板中不确定的方式不一定是抽象的,有时有默认设置。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马