A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fmi110 高级黑马   /  2015-7-6 10:50  /  593 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

获取程序运行时间,调用了System类中的System.crruntTimeMillis()方法获取时间
public static long currentTimeMillis()返回以毫秒为单位的当前时间。注意,当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更大。例如,许多操作系统以几十毫秒为单位测量时间。
  1. /**
  2. 模板方法设计模式:在定义功能时,功能的一部分是确定的,但是有一部分是不确定的
  3. 那么这时就将不确定的部分暴露出去,由该类的子类去完成


  4. 需求:获取一段程序运行的时间
  5. 原理:获取程序开始和结束的时间并相减

  6. */

  7. abstract class GetTime
  8. {
  9.         public final void getTime()  //类中定义要实现的功能
  10.         {
  11.                 long starttime = System.currentTimeMillis();   /**思考:一般对成员(变量,函数)进行私有化,
  12.                                                                                                                 方法体中定义的变量需要进行私有化吗?*/
  13.                 runCode();
  14.                 long endtime = System.currentTimeMillis();
  15.                 long runtime = endtime - starttime;
  16.                 System.out.println("运行时间:" + runtime);
  17.         }
  18.         public abstract void runCode();//{}  提供给外部去具体化的部分
  19. }
  20. class SubTime extends GetTime
  21. {
  22. /**复写父类的抽象方法体,实现对具体程序运行时间的计时*/
  23.         public void runCode()
  24.         {
  25.                 for(int i = 0;i<2000 ;i++)
  26.                         System.out.print(i);
  27.                 System.out.println();
  28.         }
  29.        
  30. }

  31. class  TemplateDemo
  32. {
  33.         public static void main(String[] args)
  34.         {
  35.                 System.out.println("Hello World!");
  36.                 SubTime s = new SubTime();
  37.                 s.getTime();
  38. //                System.out.println("启动时间:" + s.getTime().starttime);
  39. //                System.out.println("结束时间:" + s.getTime().endtime);
  40.         }
  41. }
复制代码
/**疑问:一般对成员(变量,函数)进行私有化,方法体中定义的变量有需要进行私有化的时候吗?*/哪位大神给解惑一下啊?

5 个回复

倒序浏览
个人感觉,没必要吧,方法体中的变量,生命周期很短的,不像类对象的变量,生命周期比较长,私有化以做到封装
回复 使用道具 举报
这个没必要吧,方法体中的声明的变量 在出了方法体 就会被销毁了。
回复 使用道具 举报
并且 方法内的变量是局部变量,不能用private修饰。private是访问控制符,作用在类上,或者类内部的成员方法和成员变量上。
回复 使用道具 举报
wing-SF 发表于 2015-7-6 11:24
个人感觉,没必要吧,方法体中的变量,生命周期很短的,不像类对象的变量,生命周期比较长,私有化以做到封 ...

多谢解答
回复 使用道具 举报
zhuoxiuwu 发表于 2015-7-6 11:49
并且 方法内的变量是局部变量,不能用private修饰。private是访问控制符,作用在类上,或者类内部的成员方 ...

谢谢  感觉你的解答不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马