package com.knowledge.designMode.template;
/*
1、需求:有多个类,完成不同的任务 job,要求能够统计得到各自完成任务的时间
*/
public class MyTemplate {
public static void main(String[] args) {
Sub sub = new Sub();
sub.calculateTime();
Sub1 sub1 = new Sub1();
sub1.calculateTime();
// 如果再新建一个类,则不需要再实现 calculateTime() 方法
}
}
1、父类(即模板)
package com.knowledge.designMode.template;
abstract public class Template {
abstract public void job();
public void calculateTime(){
long start = System.currentTimeMillis();
job();
long end = System.currentTimeMillis();
System.out.println("程序运行的时间是: " + (end-start) + "毫秒");
}
}
2、子类
package com.knowledge.designMode.template;
public class Sub extends Template{
@Override
public void job() {
int sum = 0;
for (int i = 1; i <= 500000; i++) {
sum+=i;
}
}
}
3、子类
package com.knowledge.designMode.template;
public class Sub1 extends Template{
@Override
public void job() {
int sum = 0;
for (int i = 1; i <= 900000; i++) {
sum+=i;
}
}
}