抽象类体现的就是一种模板模式的设计。抽象类作为多个子类的通用模板。子类在抽象类的基础上进行扩张和改造,但子类总体上会保留抽象类的行为方式。
解决的问题:
Animal.java
public class Animal{
}
abstract class Template{
public final void getTime() {
long start = System.currentTimeMillis();
code();
long end = System.currentTimeMillis();
System.out.println("执行的时间是:"+(end-start));
}
public abstract void code();
}
class SubTemplate extends Template{
public void code(){
for(int i = 0;i<10000;i++) {
System.out.println(i);
}
}
}Test.java
public class Test {
public static void main(String[] args) {
SubTemplate sub = new SubTemplate();
sub.getTime();
}输出:
0
...
9999
执行的时间是125