Template定義:
定義一個操作中算法的骨架
其實Java的抽象類本來就是Template模式
public abstract class Benchmark
{
/**
* 下面操作是我們希望在子類中完成
*/
public abstract void benchmark();
/**
* 重復執行benchmark次數
*/
public final long repeat (int count) {
if (count <=
return
else {
long startTime = System
for (int i =
benchmark();
long stopTime = System
return stopTime
}
}
}
在上例中
public class MethodBenchmark extends Benchmark
{
/**
* 真正定義benchmark內容
*/
public void benchmark() {
for (int i =
System
}
}
}
至此
Benchmark operation = new MethodBenchmark();
long duration = operation
System
也許你以前還疑惑抽象類有什麼用
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27628.html