- 所学的抽象类就是此模式的体现
- 抽象类作为子类的模板
- 子类在这个模板上进行修改
- 但抽象类的行为方式子类是要保持的
Java角度来看,功能内部一部分东西是确定的就写到抽象类中,一部分不确定的暴漏出去,让子类去实现
2.通过抽象案例体现 2.1测试类public class TemplateTest {
public static void main(String[] args) {
Template template = new SubTemplate();
template.Code();
template.spendTime();
}
}
abstract class Template{
//用于计算花费时间(此方法具有确定性)
public void spendTime() {
long start = System.currentTimeMillis();
Code();
long end = System.currentTimeMillis();
System.out.println("花费的时间为:"+(end-start));
}
//此方法是不确定的具体需要子类去实例
public abstract void Code();
}
2.2子类
class SubTemplate extends Template{
@Override
public void Code() {
//输出1000以内的质数
for (int i = 2; i < 1000; i++) {
boolean isFlag = true;
for (int j = 2;j
if (i % j == 0){
isFlag = false;
}
}
if (isFlag){
System.out.println(i);
}
}
}
}



