模版方法:
在定义功能时,功能一部分是确定的,用Final 来修饰。
但有一部分是不确定的,可以用abstract 来修饰
然而确定的部分在使用不确定的部分,那么这时,就可以讲不确定的部分暴露出去,由该类的子类来实现。
最简洁的实例:
模版:获取时间一段程序运行的时间
//gettime.java
abstract class GetTime{
public final void getTime(){
long start = System.currentTimeMillis();
runcode();
long end = System.currentTimeMillis();
System.out.println("Milles : "+(end - start));
}
public abstract void runcode();
}
class subGetTime extends GetTime{
public void runcode(){
for(int x=0;x<4000;++x)
System.out.print(x);
}
}
class Template{
public static void main(String[] args){
subGetTime gt = new subGetTime();
gt.getTime();
}
}