/*
* 模版方法模式:
* 在定义功能时,功能的一部分是确定的,
* 但是有一部分不确定,
* 而确定的部分在使用不确定的部分,
* 那么这时就将不确定的部分定义成
* 抽象方法,由子类去完成
*
* 不确定的部分不一定抽象,有的时候
* 有默认方法实现
*/
public abstract class Template {
public final void getTime() { //这个方法不用子类去继承
long start = System.currentTimeMillis();
runcode();
long end = System.currentTimeMillis();
System.out.println("执行时间是:" + (end - start));
}
public abstract void runcode(); //这时要子类必须自己实现的
}
class Sub extends Template {
@Override
public void runcode() {
for(int i=0;i<4000;i++) {
System.out.println(i);
}
}
}
//通过new子类对象调用模版方法
java 模版方法模式
最新推荐文章于 2024-03-01 16:49:06 发布