//抽象模板父类Template
public abstract class Template {
public Long calTime(){
long begin = System.currentTimeMillis();
job();
long end = System.currentTimeMillis();
return end - begin;
}
public abstract void job();//抽象方法
}
//子类A
public class A extends Template{
@Override//重写父类中的抽象方法
public void job() {
int sum = 0;
for (int i = 0; i < 100000000; i++) {
sum += i;
}
}
}
//子类B
public class B extends Template{
@Override//重写父类中的抽象方法
public void job() {
int sum = 0;
for (int i = 0; i < 100000000; i++) {
sum *= i;
}
}
}
//测试类
public class Test {
public static void main(String[] args) {
A a = new A();
System.out.println(a.calTime());
B b = new B();
System.out.println(b.calTime());
}
}
输出结果:
30
70
单位为ms,每次输出结果可能不一致是正常的,因为程序的执行时间跟系统等其他因素有关