多态的应用:模板方法设计模式 抽象类体现就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。 public class TemplateTest { public static void main(String[] args) {
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 {
@Override public void code() { for (int i = 2; i <= 1000; 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); } } }}