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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© MengYa 中级黑马   /  2015-9-2 20:32  /  449 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
需求:获取一段程序运行的时间
原理:获取程序开始和结束的时间相减即可。

获取时间:System.currentTimeMillis();
当代码完成优化后,就可以解决这类问题了:
这种方式:模板方法设计模式

什么是模板方法呢?
在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分;
那么这时就将不确定的部分暴漏出去,由该类的子类全完成。
*/
abstract class GetTime
{
        public final void getTime()//不让复写
        {
                long start=System.currentTimeMillis();
                runcode();
                long end=System.currentTimeMillis();
                System.out.println("毫秒:"+(end-start));
        }
        /*
        这段不确定,必然是抽象的,故而类也变成抽象类
        public void runcode()
        {
        }
        */
        public abstract void runcode();
}
class SubTime extends GetTime
{
        public void runcode()//只复写这一块
        {
                for (int x=0;x<100 ;x++ )
                {
                        System.out.print(x);
                }       
        }

}

class Demo
{
        public static void main(String[] args)
        {
                //GetTime gt=new GetTime();
                SubTime gt=new SubTime();
                gt.getTime();//注意调用的还是父类的函数
        }
}

1 个回复

倒序浏览
牛b 这么深入去搞这玩意
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马