- package com.practice;
- public class Demo {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- SubTime st=new SubTime();
- st.getTime();
- }
- }
- class SubTime extends GetTime{
- //复写抽象类的抽象方法
- @Override
- public void runCode() {
- // TODO Auto-generated method stub
- for (int i = 0,j=0; i < 1000; i++) {
- System.out.print("x"+"\t");
- j++;
- if (j==5) {
- System.out.println();
- j=0;
- }
- }
- }
-
- }
- //
- 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();
- }
复制代码模版方法: 在定义功能时,功能的一部分是确定的,但是有一部分是不确定,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去,由该类的子类去完成。 需求:获取一段程序运行的时间 原理:获取程序开始和结束的时间,并相减即可
|