Java学习笔记(九)面向对象---模板方法设计模式

2020-02-14 16:05:11来源:博客园 阅读 ()

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

Java学习笔记(九)面向对象---模板方法设计模式

理解

在定义功能时功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分,那么就将不确定的部分暴露出去,由该类的子类完成。

举例

需求

获取一段程序的运行时间

代码

abstract class GetTimeTemplate {
    public final void getTime() { //使用final修饰,防止被复写
        long start = System.currentTimeMillis();
        runCode();                //将代码以函数的形式封装
        long end = System.currentTimeMillis();
        System.out.println("时间:"+(end-start)+"毫秒");
    }
    public abstract void runCode();//代码不确定,使用abstract修饰
}
class GetTime extends GetTimeTemplate {
    /*
    此处需要运行的代码确定,继承父类后复写runCode()函数
    */
    @Override                   
    public void runCode() {
        for(int i=0; i<10000; i++)
            System.out.print(i);
    }
}
public class TemplateDemo {
    public static void main(String[] args) {
        GetTime g = new GetTime();
        g.getTime();
    }
}

原文链接:https://www.cnblogs.com/liyuxin2/p/12307753.html
如有疑问请与原作者联系

标签:POSTemClassAV定义代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:JavaSE学习笔记(13)---线程池、Lambda表达式

下一篇:java开发车辆租赁管理系统源码 ssh