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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 信仰年轻 中级黑马   /  2015-9-17 00:32  /  385 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package 主要内容;
/**
* 需求:获取一段程序运行的时间
* 原理:获取程序开始和结束的时间并相减即可
* 获取时间:System.currentTimeMillis();
*
*当代码完成优化后,就可以解决这类问题
*这种方式,模板方法设计模式
*
*什么是模板方法设计模式呢?
*在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分
*那么这时就将不确定的部分暴漏出去。由该类的子类去完成
*/
abstract class GetTime
{
        public final void getTime()//用final把这个封起来,不允许建立对象复写
        {
                long start=System.currentTimeMillis();               
                run();
                long end=System.currentTimeMillis();               
                System.out.println("毫秒="+(end-start));               
        }
        public abstract void run();        //抽象时间方法,让子类去复写
}
class SubTime extends GetTime//继承父类,上面的父类一个是final封起来的,一个是抽象的
{
        public void run()//定义时间方法
        {
                for(int x=0;x<=8000;x++)
                {
                        System.out.println(x);
                }       
        }
}
public class 模板方法模式
{
        public static void main(String[] args)
        {               
                //GetTime t=new GetTime();
                SubTime t=new SubTime();//建立子类对象
                t.getTime();//获取时间
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马