获取程序运行时间,调用了System类中的System.crruntTimeMillis()方法获取时间
public static long currentTimeMillis()返回以毫秒为单位的当前时间。注意,当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更大。例如,许多操作系统以几十毫秒为单位测量时间。 - /**
- 模板方法设计模式:在定义功能时,功能的一部分是确定的,但是有一部分是不确定的
- 那么这时就将不确定的部分暴露出去,由该类的子类去完成
- 需求:获取一段程序运行的时间
- 原理:获取程序开始和结束的时间并相减
- */
- abstract class GetTime
- {
- public final void getTime() //类中定义要实现的功能
- {
- long starttime = System.currentTimeMillis(); /**思考:一般对成员(变量,函数)进行私有化,
- 方法体中定义的变量需要进行私有化吗?*/
- runCode();
- long endtime = System.currentTimeMillis();
- long runtime = endtime - starttime;
- System.out.println("运行时间:" + runtime);
- }
- public abstract void runCode();//{} 提供给外部去具体化的部分
- }
- class SubTime extends GetTime
- {
- /**复写父类的抽象方法体,实现对具体程序运行时间的计时*/
- public void runCode()
- {
- for(int i = 0;i<2000 ;i++)
- System.out.print(i);
- System.out.println();
- }
-
- }
- class TemplateDemo
- {
- public static void main(String[] args)
- {
- System.out.println("Hello World!");
- SubTime s = new SubTime();
- s.getTime();
- // System.out.println("启动时间:" + s.getTime().starttime);
- // System.out.println("结束时间:" + s.getTime().endtime);
- }
- }
复制代码 /**疑问:一般对成员(变量,函数)进行私有化,方法体中定义的变量有需要进行私有化的时候吗?*/哪位大神给解惑一下啊?
|
|