1 package com.bytezreo.template; 2 3 /** 4 * 5 * @Description 抽象类的应用:模板方法的设计模式 6 * @author Bytezero·zhenglei! Email:420498246@qq.com 7 * @version 8 * @date 下午2:01:03 9 * @ 10 * 11 */ 12 public class TemplateTest { 13 14 public static void main(String[] args) { 15 16 Template t = new SubTemplate(); 17 18 t.spendTime(); 19 } 20 21 } 22 23 abstract class Template{ 24 25 //计算某段代码执行多花费的时间 26 public void spendTime() { 27 28 long start = System.currentTimeMillis(); 29 30 this.code(); //不确定的部分 易变的部分 31 32 long end = System.currentTimeMillis(); 33 34 35 System.out.println("花费的时间为:"+(end - start)); 36 37 38 } 39 40 public abstract void code(); 41 } 42 43 class SubTemplate extends Template{ 44 45 @Override 46 public void code() { 47 48 for(int i =2; i <= 1000;i++) { 49 boolean isFlag = true; 50 for(int j = 2; j < Math.sqrt(i);j++) { 51 if(i % j ==0) { 52 isFlag = false; 53 break; 54 } 55 56 } 57 58 if(isFlag) { 59 System.out.println(i); 60 } 61 } 62 63 } 64 65 66 }