package java151219;
/*
需求:获取程序的一段时间
发现:当代码完成优化后,就可以解决这类问题
模版方法设计模式
在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,把不确定的部分暴露出去的,让子类去复写从而实现
*/
public class TemplateDemo {
public static void main(String[] args) {
// GetTime gtTime=new GetTime();
// gtTime.getTime();
SubTime subTime=new SubTime();
subTime.getTime();
}
}
abstract class GetTime{
public final void getTime() {
long start =System.currentTimeMillis();
// for (int i = 0; i < 1000; i++) {
// System.out.print(i);
// }
runCode();
long end=System.currentTimeMillis();
System.out.println("毫秒:"+(end-start));
}
// public void runCode() {
// for (int i = 0; i < 1000; i++) {
// System.out.print(i);
// }
// }
public abstract void runCode();
}
class SubTime extends GetTime{
// public void getTime() {
// long start =System.currentTimeMillis();
// for (int i = 0; i < 4000; i++) {
// System.out.print(i);
// }
// runCode();
// long end=System.currentTimeMillis();
// System.out.println("毫秒:"+(end-start));
//
// }
public void runCode() {
for (int i = 0; i < 4000; i++) {
System.out.print(i);
}
}
}
/*
需求:获取程序的一段时间
发现:当代码完成优化后,就可以解决这类问题
模版方法设计模式
在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,把不确定的部分暴露出去的,让子类去复写从而实现
*/
public class TemplateDemo {
public static void main(String[] args) {
// GetTime gtTime=new GetTime();
// gtTime.getTime();
SubTime subTime=new SubTime();
subTime.getTime();
}
}
abstract class GetTime{
public final void getTime() {
long start =System.currentTimeMillis();
// for (int i = 0; i < 1000; i++) {
// System.out.print(i);
// }
runCode();
long end=System.currentTimeMillis();
System.out.println("毫秒:"+(end-start));
}
// public void runCode() {
// for (int i = 0; i < 1000; i++) {
// System.out.print(i);
// }
// }
public abstract void runCode();
}
class SubTime extends GetTime{
// public void getTime() {
// long start =System.currentTimeMillis();
// for (int i = 0; i < 4000; i++) {
// System.out.print(i);
// }
// runCode();
// long end=System.currentTimeMillis();
// System.out.println("毫秒:"+(end-start));
//
// }
public void runCode() {
for (int i = 0; i < 4000; i++) {
System.out.print(i);
}
}
}