zoukankan      html  css  js  c++  java
  • JAVA:模板方法模式

    碰到的问题:

    有些时候,我们在写代码时,有些功能是重复使用的,或者说,不同的类中都有实现某一方法,这时,可以考虑“模板方法模式”,把需要的功能写成一个模板,把不同的部分在子类中覆盖掉就行了。

    //模板
    abstract class GetTime
    {
       public final void getTime()//添加一个final,使得该方法不能在子类中被覆盖
       {
           long start = System.currentTimeMillis();
           runCode();//要实现的程序
           long end = System.currentTimeMillis();
           System.out.println();
           System.out.println("毫秒:"+(end-start));
        }
        public abstract void runCode();
    }
    //子类
    class SubTime extends GetTime
    {
       public void runCode()            //将要实现的程序覆盖即可
       {
           for(int i=0;i<1000;i++)
           System.out.print(i);
        }
    }
    public class TestTime
    {
       public static void main(String[] agrs)
       {
           SubTime sb = new SubTime();
           sb.getTime();
        }
    }

    final修饰符:

    变量:变为常量,其值不能改变

    方法:不能被子类复写

    类:不能被继承

     

  • 相关阅读:
    微信支付
    设计模式
    微信,根据经纬度获取当前城市
    移动端下拉刷新
    angular-seed — AngularJS种子项目
    Send Email
    angularjs 控制器
    ajax 图片上传
    Jpeg-Baseline和Progressive JPEG的区别
    QT启动一个工程
  • 原文地址:https://www.cnblogs.com/KeenLeung/p/2514060.html
Copyright © 2011-2022 走看看