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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Nathan矫立伟 中级黑马   /  2014-6-13 23:25  /  669 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package com.practice;

  2. public class Demo {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 // TODO Auto-generated method stub
  8.                 SubTime st=new SubTime();
  9.                 st.getTime();
  10.         }

  11. }

  12. class SubTime extends GetTime{

  13.         //复写抽象类的抽象方法
  14.         @Override
  15.         public void runCode() {
  16.                 // TODO Auto-generated method stub
  17.                 for (int i = 0,j=0; i < 1000; i++) {
  18.                         System.out.print("x"+"\t");
  19.                         j++;
  20.                         if (j==5) {
  21.                                 System.out.println();
  22.                                 j=0;
  23.                         }
  24.                 }
  25.         }
  26.        
  27. }

  28. //
  29. abstract class GetTime{
  30.         //加上final,防止确定的部分被恶意复写
  31.         public final void getTime(){
  32.                
  33.                 long start=System.currentTimeMillis();
  34.                 runCode();
  35.                 long end=System.currentTimeMillis();
  36.                 System.out.println("毫秒:"+(end-start));
  37.         }
  38.         //不确定的部分抽象化,由实现类完成复写
  39.         public abstract void runCode();
  40. }
复制代码
模版方法:
在定义功能时,功能的一部分是确定的,但是有一部分是不确定,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去,由该类的子类去完成。
需求:获取一段程序运行的时间
原理:获取程序开始和结束的时间,并相减即可

0 个回复

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