package com.btp.t2; /* 解决的问题: * 当功能内部一部分实现是确定的,一部分实现是不确定的,这时可以把不确定的部分变量暴露出来, * 让子类去实现 * 编写一个抽象父类,父类提供了多个子类的通用方法,并把一个或多个方法留给其子类实现, * 就是一种模板模式 */ public class TestTemplate { public static void main(String []args) { new SubTemplate().spendTime(); } } abstract class Template { abstract void code();//不确定的代码 public void spendTime()//测试code所花的时间 { long start=System.currentTimeMillis(); this.code(); long end=System.currentTimeMillis(); System.out.println("花费的时间为:"+(end-start)); } } class SubTemplate extends Template { @Override public void code() { boolean flag=false; for(int i=2;i<=100000;i++) { for(int j=2;j<=Math.sqrt(i);j++) { if(i%j==0) { flag=true; break; } } if(!flag) { System.out.println(i); } flag=false; } } }