简易的java模板方法的设计模式
public class TemplateTest {
/*
* 抽象类的应用:模板方法的设计模式*/
public static void main(String[] args) {
Template t = new SubTemplate(); //多态的使用
// SubTemplate t =new SubTemplate();
t.spendTime();
}
}
abstract class Template{
public void spendTime(){ //每段代码输出所需要的时间
long start =System.currentTimeMillis();
this.code(); //不确定的部分,易变的部分
long end =System.currentTimeMillis();
System.out.println("花费的时间为:"+(end - start));
}
public abstract void code(); //抽象的方法
}
class SubTemplate extends Template{
//继承之后我们需要重写父类中的抽象方法
public void code(){ //重写父类中的方法
//写一个1000以内的质数吧
for (int i = 2; i <=100; i++) {
boolean isFlag = true;
for(int j=2;j <= Math.sqrt(i);j++){
if (i % j == 0 ){
isFlag = false;
break;
}
}
if (isFlag){
System.out.println(i);
}
}
}
}