抽象类_模板方法设计模式

1 抽象类作为多个子类的通用模版,父类提供一些通用的方法,并把几个不确定的方法交给子类实现。

package p1;

public class TestTemplate {
    public static void main(String[] args) {
        Template t = new SubTemplate();
        System.out.println("所花费的时间:" + t.useTime());

    }
}

abstract class Template {
    public abstract void code();

    public double useTime() {
        double start = System.currentTimeMillis();
        this.code();
        double end = System.currentTimeMillis();

        return end - start;
    }
}

class SubTemplate extends Template {
    public void code() {
        boolean flag = false;
        // 找出1-1000以内的所有素数
        for (int i = 2; i <= 1000; i++) {
            for (int j = 2; j <= Math.sqrt(i); j++) {
                if (i % j == 0) { // 结束内层循环可能是执行if语句后break,或者j的值已经全部试完,所以
                    // 要用flag加以区分,
                    flag = true;
                    break;
                }
            }
            if (!flag == true) {
                System.out.println("1-500素数包含:" + i);
            }
            flag = false; // 前面有flag = true;
        }
    }
}
原文地址:https://www.cnblogs.com/yjtm53/p/4138454.html