先看代码:
abstract public class GetTime {
public final void getTime(){
long start=System.currentTimeMillis();
runcode();
long end=System.currentTimeMillis();
System.out.println("毫秒:"+(end-start));
}
public abstract void runcode();
}
public class SubTime extends GetTime{
public void runcode(){
for(int x=0;x<10000;x++){
System.out.print(x);
}
}
}
public class TemplateDemo {
public static void main(String[] args) {
SubTime gt = new SubTime();
gt.getTime();
}
}
abstract class GetTime {
public final void getTime() {
long start = System.currentTimeMillis();
runcode();
long end = System.currentTimeMillis();
System.out.println("毫秒:" + (end - start));
}
public abstract void runcode();
}
class SubTime extends GetTime {
public void runcode() {
for (int x = 0; x < 10000; x++) {
/*
* 我将此处print换为println就看到了显示效果
*/
System.out.println(x);
}
}
}
public class TemplateDemo {
public static void main(String[] args) {
/*
* SubTime类继承了抽象类GetTime,并实现了其抽象方法runcode(),内容是输出0至9999的数字
* 创建了一个SubTime类的对象gt,调用的是父类以及他本类默认构造函数。
*/
SubTime gt = new SubTime();
/*
* 由于类SubTime继承于类GetTime,所以类SubTime可以使用类GetTime中的方法,
* 当前调用的是父类中的方法getTime(),而getTime()中调用的runcode()方法是
* 类SubTime的runcode()方法,输出0至9999
*/
gt.getTime();