模板方式设计模式
/**
* 统计不同操作的耗时,String拼接一万次的时间,int加和一万次的时间
* System.currentTimeMillis();获取当前时间
*/
public class IntDemo extends TimeTemplate {
    @Override
    public void doWork(){
        int num = 1;
        for (int i = 0; i < 1000000 ; i++) {
            num += 1;
        }
    }
}
public class StringDemo extends TimeTemplate {
    @Override
    public void doWork(){
        String str = "";
        for (int i = 0; i < 10000 ; i++) {
            str += 1;
        }
    }
}
//模板类
public abstract class TimeTemplate implements Time {
    final public long getTotalTime(){
        long begin = System.currentTimeMillis();
        this.doWork();
        long end = System.currentTimeMillis();
        return end - begin;
    }
public interface Time {
    /**
     * 统计时间的接口
     */
    void doWork();
}
    
public class Test {
    public static void main(String[] args) {
        StringDemo stringDemo = new StringDemo();
        long strTime = stringDemo.getTotalTime();
        System.out.println("str耗时:" + strTime);
        IntDemo intDemo = new IntDemo();
        long intTime = stringDemo.getTotalTime();
        System.out.println("int耗时:" + intTime);
    }
}