1 package com.javatest20170222; 2 //定义一个获取时间差的方法体 3 abstract class AbstractOprationTimeTemplate { 4 //使用法final修饰,定义一个不能被修改的方法模板 5 final public long getTotalTime(){ 6 long begin = System.currentTimeMillis(); 7 doWork();//调用子类实际的方法 8 long end = System.currentTimeMillis(); 9 long time = end - begin; 10 return time; 11 } 12 //定义具体操作的抽象方法,供子类实现,并使用protected修饰仅供子类实现,不允许外界访问 13 protected abstract void doWork(); 14 } 15 class StringOpration extends AbstractOprationTimeTemplate{ 16 protected void doWork(){ 17 String str = ""; 18 for(int i =1;i<10000;i++){ 19 str+=i; 20 } 21 } 22 } 23 class IntOpration extends AbstractOprationTimeTemplate{ 24 25 @Override 26 protected void doWork() { 27 // TODO Auto-generated method stub 28 int sum = 0; 29 for(int i=1;i<100000;i++){ 30 sum+=i; 31 } 32 } 33 } 34 public class Time { 35 public static void main(String[] args) { 36 System.out.println(new IntOpration().getTotalTime()); 37 System.out.println(new StringOpration().getTotalTime()); 38 } 39 }
浙公网安备 33010602011771号