黑马程序员——模板方法

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

/*
    模板方法
需求:获取一段程序的运行时间
原理:获取程序 起始 结束 时间 并相减(java有对应方法)

获取时间:System.currentTimeMillis();

当代码优化之后,就可以解决这类问题。

这种方式:模板方法设计模式:在定义功能的时候,功能的一部分是确定的,但有一部分是不确定的,确定的部分在使用不确定的部分,
那么这个时候就将不确定的部分暴露出去,有该类的子类去完成(仅仅声明下功能,抽象他,强制子类复写这部分)

*/
abstract class GetTime
{
    public final void getTime()//获取时间的功能 是【固定】的不可被子类复写,用final修饰【强制】下
    {
        long start =System.currentTimeMillis();
        runcode();//封装它
        /*
        for (int x=0;x<1000 ;x++ )//不确定的部分,可以暴露出去
        {
            System.out.print(x);
        }
        */
        long end = System.currentTimeMillis();
        System.out.println("毫秒:"+(end-start));

    }
    public abstract void runcode();//不确定的部分,暴露它,让子类去实现  
    //【这里不一定是抽象的,比如有默认的运行方法,如需特殊可以用子类覆盖,实现多样性】
}

class  SubTime extends GetTime
{
    public void runcode()
    {
        for (int x=0;x<1000 ;x++ )//子类复写,方便,多样
        {
            System.out.print(x);
        }
    }
}

class  TemplateDemo
{
    public static void main(String[] args) 
    {
        SubTime gt = new SubTime();
        gt.getTime();
    }
}

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值