文档章节

java中的模版方法

明天_你好lzr
 明天_你好lzr
发布于 2016/11/08 16:47
字数 360
阅读 7
收藏 0

模版方法: 功能(即方法)的一部分是确定的,但是有一部分是不确定的,而确定部分在使用不确定的部分,这个时候可以将不确定的部分暴露出来,由该类的子类去完成。

/**
 * 模版方法
 * @author Administrator
 *
 */

public class MoBanMethodDemo {
	public static void main(String[] args){//main方法的参数数组的名字可以自定义
		RunDemo run=new RunDemo();
		run.getTime();
	}
	
	
}
//定义一个抽象方法用于求某段代码执行的时间长短
abstract class GetTime{
	public final void getTime(){
		Long bg =System.currentTimeMillis();//开始时间
		//System.out.println(bg);
		runDemo();//被求时间长短的代码
		Long end=System.currentTimeMillis();//结束时间
		System.out.println("运行了:"+(end-bg)+"毫秒");
	}
	//该方法需要执行的内容不是固定的,因此定义为公共的抽象类,通过子类的重写来指定方法具体需要指定对的代码
	public abstract void runDemo();
}
//定义GetTime的子类,并定义runDemo()方法的具体需要执行的方法
class RunDemo extends GetTime{

	@Override
	public void runDemo() {
		for(int i=0;i<100;){
			i++;//
		}
	}
	
}	
上面的代码就完成了一个模版方法的实现,无论是求任何代码的运行时间,只需要继承一下<span style="font-family: Arial, Helvetica, sans-serif;">GetTime类,并在其抽象方法中写入需要运行的代码即可,利用这种思想可以做一个简单的工具类,来帮助我们省去一些不必要的麻烦。</span>

© 著作权归作者所有

明天_你好lzr
粉丝 0
博文 6
码字总数 2603
作品 0
杭州
程序员
私信 提问
Java模版引擎velocity的使用

前言 关于velocity与SpringMVC的配置请参考前一篇文章,此处不再介绍。velocity作为Java模版引擎的主要目的是为了允许任何人使用简单而强大的模板语言来引用定义在Java代码中的对象。在veloc...

buglife
2015/01/05
12.7K
7
JAVA实现调用打印机打印PDF

JAVA实现调用打印机打印PDF,网上搜索了一大把资料,基本上都是重复。。。下面骂人的一大堆。。我这里来解决一下。 需求:前端调用用接口 后端根据模版生成数据联通打印机直接一键打印! 思路...

jason_kiss
2018/12/27
2.2K
1
Mybatis自动代码生成器的实现

本文介绍如何用Java编写高度自定义的代码生成器 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果...

智能辣子鸡
2018/11/27
0
0
SSH框架之Spring4专题4:Spring与DAO

本专题内容主要包含两部分:Spring所使用的操作数据库的技术之一,JDBC模版的使用;另一部分则为Spring对于事务的管理。 Spring与Dao部分,是Spring的两大核心技术loC与AOP的经典应用体现: ...

糖醋白糖
2018/06/26
0
0
Maven模版Bug及解决办法

一、Maven模版Bug 按照Maven的模版,创建的项目结构如下图所示: 默认,会帮我们创建src/main/resources 按照Maven的规范,Maven会有3个目录,分别是: src/main/java : java源文件存放位置 ...

开源俱乐部
2014/07/09
108
0

没有更多内容

加载失败,请刷新页面

加载更多

读书笔记:深入理解ES6 (五)

第五章 解构:使数据访问更便捷 第1节 为什么使用解构功能?   在ES5中,开发者们从对象、数组中获取特定数据并赋值给变量,编写了很多看起来同质化的代码。例如: 1 let options = {2 ...

张森ZS
31分钟前
24
0
CentOS7 yum方式安装MySQL5.7

在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。 1 下载并安装MySQL官方的 Yum Repository [root@localho...

roockee
39分钟前
15
0
Allegro三种自定义设置快捷键的方法

Allegro自定义设置快捷键的三种方法: 1、在Allegro PCB editor 命令窗口直接定义 2、通过修改用户变量env文件来设置快捷键 3、定义笔画为快捷键 1、在Allegro PCB editor 命令窗口直接定义 ...

demyar
44分钟前
18
0
如何做一张能让人眼前一亮的大屏?

作为在职场驰骋的社会人,提到数据可视化大家应该都不陌生了。数据可视化的作用也不用我多说,主要是利用图形化手段,更清晰直观地将数据展示。多层次、交互式的可视化分析能够方便决策者理解...

朕想上头条
45分钟前
9
0
TL138/1808/6748-EthEVM开发板硬件CPU、FLASH、RAM

TL138/1808/6748-EthEVM是广州创龙基于SOM-TL138/1808/6748核心板开发的一款开发板,具有三个网络接口。由于SOM-TL138/1808/6748核心板管脚兼容,所以此三个核心板共用同一个底板。开发板采用...

Tronlong创龙
49分钟前
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部