需求
设计一个抽象类(Template),完成如下功能:
- 编写calculateTime(),计算某段代码的消耗时间。
- 编写抽象方法job()
- 编写一个子类Sub,继承抽象类Template,并实现job方法。
实现
Template
```java package test;
abstract public class Template { //抽象类-模板设计模式
public abstract void job();//抽象方法public void calculateTime() {//实现方法,调用job方法//得到开始的时间long start = System.currentTimeMillis();job(); //动态绑定机制//得的结束的时间long end = System.currentTimeMillis();System.out.println("任务执行时间 " + (end - start));}
}
<a name="NAG2B"></a>## AA```javapackage test;public class AA extends Template {//计算任务//1+....+ 800000@Overridepublic void job() { //实现Template的抽象方法joblong num = 0;for (long i = 1; i <= 800000; i++) {num += i;}}}
BB
package test;public class BB extends Template{@Overridepublic void job() {//这里也去,重写了Template的job方法long num = 0;for (long i = 1; i <= 80000; i++) {num *= i;}}}
Main
package test;public class Main {public static void main(String[] args) {AA aa = new AA();aa.calculateTime();BB bb = new BB();bb.calculateTime();}}

