当前位置: 首页 > news >正文

JAVA中的模版设计模式

一、模版设计模式能解决以下问题

1)功能内部一部分是实现的,一部分是不确定的,这时可以把不确定的部分暴露出去,让子类去实现

2)编写一个抽象父类,父类提供多个子类的通用方法,并把一个或多个方法留给子类实现,就是一种模版模式

二、代码实现

package TemplateModel;public class TemplateModel01 {/* 需求* 1.有多个类完成不同的任务*/public static void main(String[] args) {new AA().cal();new BB().cal();}
}
class AA extends Template{/*public void cal(){// 开始时间long start = System.currentTimeMillis();job();// 结束时间long end = System.currentTimeMillis();System.out.println("执行时间"+ (end - start));}*/public void job(){long n = 0;for (long i = 1; i < 800000; i++){n += i;}}
}class BB extends Template{/*public void cal(){// 开始时间long start = System.currentTimeMillis();job();// 结束时间long end = System.currentTimeMillis();System.out.println("执行时间"+ (end - start));}*/public void job(){long n = 0;for (long i = 1; i < 10000000; i++){n += i;}}
}// 改进方案
abstract class Template{public abstract void job();public void cal(){// 开始时间long start = System.currentTimeMillis();job();// 结束时间long end = System.currentTimeMillis();System.out.println("执行时间"+ (end - start));}
}

相关文章:

  • [每周一更]-(第85期):NLP-实战操作-文本分类
  • python日志管理配置
  • Rust入门
  • 黑马程序员微信小程序学习总结6.页面导航
  • 【实训】自动运维ansible实训(网络管理与维护综合实训)
  • 小程序支付类型接入京东支付
  • JUnit
  • Hadoop3.x基础(4)- Yarn
  • Backtrader 文档学习- Sizers
  • Centos7.9安装SQLserver2017数据库
  • Java基于微信小程序的医院核酸检测服务系统,附源码
  • Android:ViewAdapter
  • RabbitMQ_00000
  • 开发实践11_Blog
  • 【Java数据结构】ArrayList和LinkedList的遍历
  • 【Leetcode】101. 对称二叉树
  • [数据结构]链表的实现在PHP中
  • 3.7、@ResponseBody 和 @RestController
  • Cumulo 的 ClojureScript 模块已经成型
  • Magento 1.x 中文订单打印乱码
  • oschina
  • Service Worker
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • Vue2.x学习三:事件处理生命周期钩子
  • 从setTimeout-setInterval看JS线程
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 聊聊flink的BlobWriter
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 排序算法之--选择排序
  • AI算硅基生命吗,为什么?
  • Hibernate主键生成策略及选择
  • python最赚钱的4个方向,你最心动的是哪个?
  • Spring Batch JSON 支持
  • Spring第一个helloWorld
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​flutter 代码混淆
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • $jQuery 重写Alert样式方法
  • (52)只出现一次的数字III
  • (windows2012共享文件夹和防火墙设置
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (正则)提取页面里的img标签
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)项目管理杂谈-我所期望的新人
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • **PHP二维数组遍历时同时赋值
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料