抽象类的应用:模板方法的设计模式
抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,
子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式;

作用:

  •  当功能内部一部分实现是确定的时候,一部分实现是不确定的,这时可以把不确定的部分保留出去, 让子类去实现
    
  •  换句话说,在软件开发中实现一个算法时,整体步骤很固定、通用,这些步骤在父类中已经写好了。但是某些部分易变,易变部分可以抽象出来供不同的子类实现
    

例如:

  •   数据库访问的封装
    
  •  Junit单元测试
    
  •  JavaWeb中的Servlet中关于doGet/doPost方法调用
    
  •  Hibernate中模板程序
    
  •  Spring中JDBCTemlate、HibernateTemlate等
    
package com.atguigu.com;import javax.swing.text.html.HTMLDocument.HTMLReader.IsindexAction;public class TemplateTest {public static void main(String[] args) {SubTemplate t = new SubTemplate();t.spendTime();}
}//用来计算某段执行所需要花费的时间
abstract class Template{public void spendTime() {long start = System.currentTimeMillis();this.code(); //不确定的部分long end = System.currentTimeMillis();System.out.println("花费的时间为:" + (end - start));}public abstract void code() ;
}class SubTemplate extends Template{@Overridepublic void code() {// TODO Auto-generated method stubfor (int i = 2; i < 1000; i++) {boolean ifFlage = true;for (int j = 2; j < Math.sqrt(i); j++) {if (i % j == 0) {ifFlage = false;}}if (ifFlage) {System.out.println(i);}}}}

java中模板方法的设计模式相关推荐

  1. 第80节:Java中的MVC设计模式

    第80节:Java中的MVC设计模式 前言 了解java中的mvc模式.复习以及回顾! 事务,设置自动连接提交关闭. setAutoCommit(false); conn.commit(); conn ...

  2. Java中的策略设计模式

    策略设计模式是一种行为模式,其中我们有多种算法/策略来完成一项任务,所使用的算法/策略留给客户选择. 各种算法选项封装在单独的类中. 在本教程中,我们将学习在Java中实现策略设计模式. UML表示形 ...

  3. Java中的命令设计模式

    在本教程中,我们将学习命令模式,这是一种重要的行为设计模式. 它具有一些重要的应用程序,例如在文本编辑器中实现撤消/重做功能. 在命令设计模式中,有一个命令对象位于发送方和接收方对象之间. 发送者对象 ...

  4. Java中的状态设计模式–示例教程

    状态模式是行为设计模式之一 . 当对象根据其内部状态更改其行为时,将使用状态设计模式. 如果必须根据对象的状态更改其行为,则可以在对象中使用状态变量,并使用if-else条件块根据状态执行不同的操作. ...

  5. Java中的Memento设计模式-示例教程

    记忆模式是行为设计模式之一 . 当我们要保存对象的状态以便以后可以恢复时,可以使用Memento设计模式. 记忆模式用于以这种方式实现该目的,即在对象外部无法访问该对象的已保存状态数据,从而保护了已保 ...

  6. Java中的访问者设计模式–示例教程

    访客模式是行为设计模式之一 . 当我们必须对一组相似类型的对象执行操作时,将使用访问者模式. 借助访问者模式,我们可以将操作逻辑从对象移动到另一个类. 例如,假设有一个购物车,我们可以在其中添加不同类 ...

  7. Java中的策略设计模式-示例教程

    策略模式是行为设计模式之一 . 当我们对一个特定任务有多种算法,并且客户端决定在运行时使用的实际实现时,将使用策略模式. 策略模式也称为策略模式 . 我们定义了多种算法,并让客户端应用程序将算法用作参 ...

  8. Java中的迭代器设计模式–示例教程

    迭代器模式是一种行为模式,用于提供遍历一组对象的标准方式. Iterator模式在Java Collection Framework中得到了广泛使用,其中Iterator接口提供了遍历集合的方法. 根 ...

  9. Java中的生成器设计模式

    Java 中的 Builder设计模式是一种创建模式,即用于创建对象,类似于 工厂方法设计模式 ,这也是创建设计模式. 在学习任何设计模式之前,我建议先找出特定设计模式要解决的问题. 众所周知, 必要 ...

最新文章

  1. OpenCV中OpenCL模块函数
  2. 分布式系统监视 开源解决方案 zabbix与nagios对比
  3. 洛谷P4145 上帝造题的⑦minutes ②
  4. 浙江大学人工智能研究所:AI+X驱动科学发现
  5. 三禧科技 工业机器人_redmi note 9 即将发布,三剑齐发! 三禧科技
  6. Python---编程检查并判断密码字符串的安全强度
  7. mysql的存储过程放在哪里_mysql存储过程求解,错误在哪里?
  8. mysql 查询两张表结构相同的数据库_数据库原理习题(含答案)
  9. Linux命令应用大词典-第 15章 文件、目录权限和属性
  10. redis存储对象_redis内存优化总结
  11. win10应用商店无法安装
  12. zend studio php 运行,Zend Studio使用教程:使用PHP 7进行开发(一)
  13. Java---设计【高校教师信息管理系统】
  14. stata学习笔记|自相关处理问题
  15. 2020switch电信最快的dns_《2020switch电信最快的dns》电影_2020switch电信最快的dns正片免费观看-扬州人才服务网...
  16. 青岛科技大学古典音乐考试需要的资料
  17. 笔记本换SSD固态硬盘,系统速度可以提升吗?
  18. pandas_收益率的分布
  19. 关于微信第三方平台$APPID$.wx.abc.com的问题
  20. 离散数学——范式(一)定义与求解

热门文章

  1. 【 Notes 】WLLS Algorithm of TOA - Based Positioning (include the two - step WLS estimator)
  2. 解决外部符号错误:_main,_WinMain@16,__beginthreadex
  3. 采用TurboGate邮件网关防止企业邮箱被盗用
  4. 安卓消息推送解决方案
  5. 动态规划解决方案最长公共子序列问题(开启)
  6. Spring的生命周期
  7. tasklist 妙用
  8. java cms cpu占用率_cpu使用率过高和jvm old占用过高排查过程
  9. Xilinx FPGA部分重配置操作流程
  10. Ubuntu安装QQ2010