抽象类(Java)、模板方法设计模式

news2024/11/15 8:42:49

一、概念

在Java中有abstract关键字,就是抽象的意思,可用来修饰类和成员方法。

用abstract来修饰类,那这个类就是抽象类;修饰方法,那这个方法就是抽象方法。

修饰符 abstract class 类名{
         修饰符 abstract 返回值类型 方法名称(形参列表);
          }

抽象类的特点:

1.抽象类中不一定有抽象方法,但只有抽象类是有抽象方法的类 

2.类该有的成员变量、方法、构造器抽象类都可以有

3.抽象类不可以创建对象,只能作为一种特殊的父类,让子类继承并实现

4.一个类继承抽象类,必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类

二、抽象类的场景和好处

父类知道每个子类都要做某个行为,但每个子类都要做的情况不一样,父类就定义成抽象方法,交给子类去重写实现,设计这样的抽象类,就可以更好的支持多态

三、模板方法设计模式

这种模式可以解决方法中存在重复代码的问题

写法:定义一个抽象类,然后在类中定义两个方法,一个方法是模板方法也就是把相同的代码放进去,还有一个方法是抽象方法,具体实现交给子类完成。

那么如何防止子类对模版方法进行重写,这就要使用到final关键字修饰模板方法咯

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1420802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

知识库是什么 产品经理必须知道的行业知识

现如今,我们生活在一个知识爆炸的时代。对于产品经理来说,信息不再是稀缺资源,如何高效地管理和利用这些信息,是他们面临的重要问题。这时,知识库便悄然成为产品经理必备的工具。所以,什么是知识库呢&#…

Python网络拓扑库之mininet使用详解

概要 网络工程师、研究人员和开发人员需要进行各种网络实验和测试,以评估网络应用和协议的性能,以及解决网络问题。Python Mininet是一个功能强大的工具,它允许用户创建、配置和仿真复杂的网络拓扑,以满足各种实际应用场景。本文…

2024美赛备战--六大题型常用模型简要分析

美国大学生数学建模竞赛(MCM)是全球知名的数学建模比赛之一,每年都吸引了来自世界各地的学生参加。在这场充满挑战的竞赛中,参赛者将面对多种题目,需要利用他们的数学建模技能来解决实际问题。下面,建模忠哥…

深入了解Yum:Linux系统的软件包管理利器

目录 软件包 软件包的来源 关于yum yum是什么 yum的相关操作 介绍rzsz rz(从Windows本地传到Linux服务器) sz(从Linux服务器传到Windows本地) 注意事项 查看软件包 安装软件 卸载软件 yum的本地配置 为什么要进行配置…

Redis学习——高级篇④

Redis学习——高级篇④ Redis7高级之Redis与Mysql数据双写一致性工程案例(四) 4.1 MySQL主从复制原理4.2 canal 工作原理4.3 mySQL->canal->redis 双写一致性1.环境2.配置Mysql3.配置canal4. Canal客户端(Java编写&#xff0…

03:华为云管理|云主机管理|云项目实战

华为云管理|云主机管理|云项目实战 安全组配置部署跳板机配置yum源,安装软件包优化系统服务安装配置ansible管理主机 模版镜像配置配置yum源,安装软件包优化系统 网站云平台部署实战华为云的负载均衡 安全组配置 设置安全组 云…

Whatsapp 相关(七) -网络请求

本篇主要用来完善上篇文章 frida 监测网络请求的. whatsapp相关(五)- frida监测网络请求 1: 脚本 本次的脚本与上次的区别是,之前只能输出请求的地址,本次优化后,可输出请求参数,结果等. 代码如下: Java.perform(function () {var HttpURLConnection Java.use(java.net.H…

PyTorch][chapter 12][李宏毅深度学习][Semi-supervised Linear Methods-1]

这里面介绍半监督学习里面一些常用的方案: K-means ,HAC, PCA 等 目录: K-means HAC PCA 一 K-means 【预置条件】 N 个样本分成k 个 簇 step1: 初始化簇中心点 (随机从X中抽取k个样本点作为) Repeat: For all in X: 根据其到 &…

MP4格式视频怎么提取gif?一招教你在线做

MP4是一种常见的数字多媒体容器格式,它是一种使用最广泛的视频文件格式之一。MP4文件可以包含音频、视频和字幕等多种媒体数据,并且可以通过各种播放器和设备进行播放和共享。它是一种压缩格式,可以在保持相对较小文件大小的同时提供较高的视…

数学建模学习笔记||灰色关联分析

灰色系统 信息绝对透明的是白色系统,信息绝对秘密的是黑色系统,灰色系统介于两者之间 关联分析 即系统的分析因素 包含多种因素的系统中,哪些因素是主要的,哪些因素是次要的,哪些因素影响大,哪些因素影响小…

Vue3下载WEBAPI导出的Excel文件

webApi查询数据保存为Excel /// <summary>/// 获取LMI3D相机涂胶测量数据/// </summary>/// <returns></returns>[HttpPost(Name "GetLMI3DGlueDataToExcel")]public async Task<IActionResult> GetLMI3DGlueDataToExcel(QueryGlueM…

搜维尔科技:「简报」元宇宙数字人赛道,优秀作品《黛妮卡》赏析

黛妮卡是宇宙航星局所特聘来研究纪录地球科技的星际种子。宇宙航星局汇集各星球的菁英并称他们为星际种子&#xff0c;星际种子有各自的任务&#xff0c;完成任务是他们的使命。 学校&#xff1a; 私立长荣高级中学(台湾) 选手&#xff1a; 郭伊珍 角色姓名&#xff1a; 黛妮…

Docker-Cgroup资源限制

目录 一、Cgroup 1.CGROUP概念 2.CGROUP 子系统 3.CGROUP 示例 二、内存资源限制 1.内存资源限制概念 2.内存资源限制参数 1 3.内存资源限制参数 2 三、CPU 资源限制 1.容器中 CPU 使用 2.容器 CPU 限制参数 四、实验演示 一、Cgroup 1.CGROUP概念 在linux内核里提…

【LeetCode: 25. K 个一组翻转链表 + 链表 + 递归】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Vue之初识Vue CLI 脚手架

Vue CLI 是Vue 官方提供的一个全局命令工具 可以帮助我们快速创建一个开发Vue项目的标准化基础架子。【集成了webpack配置】 脚手架有什么好处&#xff1f; 1.开箱即用&#xff0c;零配置 2.内置 babel 等工具 3.标准化 使用步骤: 1.全局安装(一次):yarn globaladd vue/cli …

vue3中使用echarts

效果如图: 1、首先安装echarts npm install echarts --save安装后的版本为&#xff1a; “echarts”: “5.4.2”, 2、页面使用 <template><div class"contact_us_page main"><div class"contact_us " id"main" ref"ech…

实际项目演示:Python RegEx在数据处理中的应用!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 正则表达式&#xff08;Regular Expressions&#xff0c;简称 RegEx&#xff09;是一种强大的文本匹配和搜索工具&#xff0c;它在数据处理、文本解析和字符串操作中发挥着关键作用。Python 提供了内置的 re 模块…

DevOps落地笔记-01|追溯本源:DevOps的发展历史回顾

任何事物的诞生、发展和消亡都是由所处社会阶段决定的&#xff0c;软件开发方法也是一样。现在我们津津乐道的 DevOps&#xff0c;也有其自己的起源和诞生的前提条件&#xff0c;今天我带领你追本溯源&#xff0c;一起找一找 DevOps 兴起的历史根源。 当谈到 DevOps&#xff0…

kafka集群搭建需要做的事情

首先&#xff0c;虚拟机克隆好之后的步骤如下&#xff1a; 1. 修改IP、主机名&#xff0c;关闭防火墙&#xff1b;&#xff08;reboot重启&#xff09; 2. 在/etc/hosts文件中进行IP与主机名的映射配置&#xff0c;集群中每天都记得配置&#xff1b; 3. 安装JDK并进行分发&a…

3种JWT验证和续签的策略

3 种JWT验证和续签的策略 好文推荐&#xff1a;一文教你搞定所有前端鉴权与后端鉴权方案&#xff0c;让你不再迷惘 - 掘金 (juejin.cn) 3 种jwt 验证的策略 通过解析去验证&#xff1a;每次访问api时parse jwt 判断是否vaild jwt有效 正常调用api jwt无效 返回401 缺点&a…