-----------
android培训、
java培训、java学习型技术博客、期待与您交流! ------------
模板方法
当代码完成后可以解决某一类问题,这种方式叫做模板方法设计模式。
什么是模板方法?
在定义功能是,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去,确定部分final由由该子类完成。可以参考现实生活中月饼模板和月饼,月饼模板是确定的,制作月饼的材料是不确定的。
abstract class GetTime
{
//将获取运行时间抽取为模板方法
public final void getTime()
{
long startTime = System.currentTimeMillis();
runCode();
long endTime = System.currentTimeMillis();
System.out.println("运行时间:"+(endTime-startTime)+"毫秒");
}
//运行代码抽取为抽象方法,具体由子类实现
public abstract void runCode();
}
//需要运行的代码SubTime类继承模板方法类
class SubTime extends GetTime
{
public void runCode()
{
for(int i=0;i<1000;i++)
{
System.out.println(i);
}
}
}
//模板方法测试类
public class TemplateMethod
{
public static void main(String[] args)
{
SubTime s = new SubTime();
s.getTime();
}
}
-----------
android培训、
java培训、java学习型技术博客、期待与您交流! ------------
分享到:
相关推荐
黑马程序员训练营基础测试 ios ios自荐信模板和iosexam
黑马程序员出品,有四种代码生成模板可以选择,分别为springboot+springDataJPA微服务、SSH2+angularJS+bootstrap、SSH2+easyUI、SSM+dubbox+angularJS(服务层+Web层)
黑马程序员微信小程序——本地生活案例实现所用图片——不是黑马老师的原课件图片,是我自己找的图片——只是为了方便各位,节省时间。
C++机房预约系统:面向对象,文件操作,黑马程序员,部分优化,模板
根据黑马程序员课程制作的网页
非常好用的代码生成器,最新版,传智播客出品,支持多种代码模板生成,包括前端页面,csdn首发.支持springboot+springdatajpa微服务;ssh+angularjs+bootstrap;ssh+easyui;ssm+dubbox+angularjs等多种模板的代码自动生成,...
MySQL多表查询综合案例-参考黑马程序员 PDF文档
关于软件测试中测试计划书写的经典模板,希望对大家有帮助
考程序员时学习C++的经典课件 全面阐述C++的类、对象、继承、多态、派生、模板及异常处理等C++基础 是C++初学者的必备课件。
TPshop是用thinkphp开发的一款免费开源网店系统,适合企业及个人,包含(微信商城 wap android ios pc)二次开发非常方便,代码清晰简洁,通俗易懂,丰富的插件和多套模板支持,易扩展,是目前国内首家最为完善的开源...
淘宝旺铺装修全套教程加模板,我自己买的,供分享
XMind源文件,Java技术总览思维导图
里面是word文档,总共115套,都是很好很不错的简历,可以收藏一下
4.2.2 MFC消息映射的实现方法 45 4.2.3 在声明与实现的内部 46 4.2.3.1 消息映射声明的解释 47 4.2.3.2 消息映射实现的解释 49 4.2.4 消息映射宏的种类 51 4.3 CcmdTarget类 54 4.4 MFC窗口过程 55 4.4.1 MFC窗口...
c++讲义,很好的资料,内容很全面,讲解很详细,特别是对C++类、软件重用、模板等讲得很明白
长沙大学软件工程大三上学期JavaWeb课程设计-在线蛋糕商城+源代码+文档说明 - 小白不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审...
HeimaCodeUtil是黑马程序员官方推出的一款代码生成工具,软件支持多种代码模板生成,包括前端页面等。49期学习配套软件,可以生成 1.SSM+dubbox+angularJS(服务层+WEB层) 2.SSH2+easyUI架构; 3.SSH2+angularJS+...
黑马最新代码生成器2019版 HeimaCodeUtil_V2.4_64 支持spring全家桶1.5,2.0; ssh+angularjs+bootstrap;ssh+easyui;swaggerAPI, ssm+dubbox+angularjs等多种模板的代码自动生成,支持mysql,oracle,
第7章 struts 2中应用模板语言 145 第8章 hibernate框架基础 173 第9章 hibernate查询 188 第10章 hibernate性能优化 208 第11章 spring框架基础 226 第12章 spring aop 242 第13章 spring与java ee持久...