在定义功能时,功能的部分是确定的,但是又一部分是不确定的,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去,由该类的子类去完成。

需求:获取一段程序(不确定的)运行的时间。

abstract class GetTime{

  public final void getTime(){//final,不让子类复写

    long start=System.CurrentTimeMillis();

    runCode();

    System.out.println("毫秒"+(end-start));

  }

  public abstract void runCode();

}

子类:

class SubTime extends GetTime{

  public void runCode(){

    for(int i=0;i<4000;i++){

      System.out.println(i);

    }

  }

}

模板类不一定是抽象的,要记得思想。

posted on 2015-06-22 13:50  Joanna.Yan  阅读(210)  评论(1编辑  收藏  举报