抽象类、模板方法

2023-10-31

抽象类理解为一种模板

模板模式 使用

package com.example.demo;

/**
 * @author dc
 * @version 1.0
 * @date 2023/03/28 12:55
 */
public abstract class DayPlan {
    public abstract void eat();

    public abstract void beforeSleep();

    public void morning() {
        System.out.println ("上班");
    }

    public void afternoon() {
        System.out.println ("下午上班");
    }

    public void evening() {
        System.out.println ("晚上下班");
    }

    public void sleep() {
        System.out.println ("睡觉");
    }

    public void drink() {
        System.out.println ("累了喝点水");
    }

    public void execute() {
        eat ();
        morning ();
        afternoon ();
        drink ();
        evening ();
        beforeSleep ();
        sleep ();
    }
}

子类

public class DcPlan extends DayPlan{
    @Override
    public void eat() {
        System.out.println ("面包+牛奶");
    }

    @Override
    public void beforeSleep() {
        System.out.println ("玩会手机就睡觉");
    }
}

测试

public static void main(String[] args) {
      DcPlan plan = new DcPlan ();
      plan.execute ();

  }

注意事项:

1、抽象类 不能实例化
2、抽象类中包含构造器
3、抽象类中 可以没有抽象方法
4、有抽象方法的类一定是抽象类
5、继承 抽象类时,该类必须是 抽象类或者 重写抽象类中的方法

抽象方法:只有声明,没有方法体

abstract 不能修饰 哪些结构?
1、属性
2、构造器
3、代码块

abstract 不能与哪些关键字共存?
1、不能用 abstract修饰私有方法
2、静态方法
3、被final修饰的 方法
4、被final修饰的 类

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

抽象类、模板方法 的相关文章

随机推荐

  • 【Adobe】Premiere怎么把视频旋转

    文章目录 1 打开Premiere 新建项目 将视频导入媒体 将视频拖入时间轴中 点击轨道上的视频条 2 依次点击 效果 效果控件 运动 旋转 输入需要旋转的角度数 3 点击上方菜单栏中的 序列 序列设置 选项 4 将 帧大小 和 水平 中
  • 【Nacos源码系列】Nacos心跳机制原理

    文章目录 心跳机制是什么 Nacos心跳机制 客户端心跳 服务端接收心跳 总结 前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到网站 心跳机制是什么 心跳机制是一种用于监测和管理微服务可用性的机制
  • React 与 TS 结合使用时组件传参总结

    在学习 React 时 我们总会遇到在 TS 和 JS 之间切换来开发多个项目 而有时会忘记 TS 的语法 所以编写一下 React 结合 TS 开发时的一些总结知识点 以便后续回顾用 向组件传递基础参数 字符串 数字和布尔值 这节主要是介
  • element-ui深入浅出 v-loading指令

    想必用过 element ui 来开发中后台项目的同学都知道 其内置的 v loading 指令是非常友好 只需要提供一个 Boolean 值就能实现加载动画的一个指令 如果使用过 element ui 但没有使用过 v loading 指
  • Office Tool Plus软件运行错误,缺少.net

    2021 9 29更新 看了Office Tool Plus官方文档之后 发现有了一个新版本 with runtime 版本 这个版本已经包含了 net组件 不用另外安装 net了 如果遇到Office Tool Plus软件运行错误 缺少
  • Retrofit Interceptor网络拦截器

    1 Interceptor interface Interceptor Throws IOException class fun intercept chain Chain Response interface Chain fun requ
  • python压缩数据长度_Python错误:解压缩需要一个长度为4的字符串参数,但这是吗?...

    我正在使用python 2 7 我不明白为什么这行不通 有人可以给我提示 gt gt gt from struct import unpack gt gt gt T2 u xb6 u x01 u x59 u x59 gt gt gt T2
  • Anaconda Scrapy 安装

    anaconda安装 anaconda官网下载下载地址https www anaconda com distribution 安装anaconda没有什么注意事项 只要更改一下安装目录即可 其他的都可以默认下一步 安装成功后 配置一下环境变
  • 在UNIX \ Linux终端中的可视化磁盘空间和磁盘使用情况小工具 - Vizex

    在UNIX Linux终端中的可视化磁盘空间和磁盘使用情况小工具 Vizex 背景 什么是Vizex Linux终端上安装方法 如何使用Vizex 1 vezix 2 vizexdf 3 可以通过 help 使用command调用optio
  • 第一章 命题逻辑 1.4 析取范式与合取范式

    1 4 析取范式与合取范式 这一小节内容较多 我们由浅入深的来 首先要明白简单析取式和简单合取式的定义 定义 我们将命题变项及其否定统称作 文 字 red 文字 文字 简
  • c语言中stat函数,C语言:stat,fstat和lstat函数

    这三个函数的功能是一致的 都用于获取文件相关信息 但应用于不同的文件对象 对于函数中给出pathname参数 stat函数返回与此命名文件有关的信息结构 fstat函数获取已在描述符fields上打开文件的有关信息 lstat函数类似于st
  • Seata导致本地事务@Transactional失效解决方案

    原理 把spirng本地事务数据源设置为seata代理数据源 核心代码 在seata配置类中加入 Bean txManager public DataSourceTransactionManager txManager DataSource
  • JAVA中自定义异常方法抛出异常

    开发工具与关键技术 JAVA中的自定义异常 作者 邓崇富 撰写时间 2019 年 4 月 26 日 一 通过throw抛出异常 使用java内置的异常类可以描述在编程时出现的大部分异常情况 除此之外 用户只需要集成Exception类即可自
  • Docker开启远程进程服务以及VSCode、Idea等IDE连接使用远程

    Docker开启远程进程服务以及VSCode Idea等IDE连接使用远程 Docker远程服务 开发环境大多使用的的是windows系统 服务器运行环境一般采用Linux系统 这时候生成镜像时用到远程连接Docker服务 一 开启Dock
  • win10 nvprof的性能分析表

    交叉访问是全局内存中最糟糕的访问模式 因为它浪费总线带宽 使用多个线程块对基于交叉的全局内存访问重新排序到合并访问 https mp weixin qq com s h2XKth1bTujnrxyXTJ2fwg lt lt
  • Spring Boot 学习研究笔记(二十)-docker部署SpringBoot使用nginx配置域名

    Docker发布项目使用Nginx配置域名 步骤如下 第一步 在Docker 中部署SpringBoot JAR 包 详情请查看 Spring Boot 学习研究笔记 十二 Dcoker 中部署SpringBoot jar包 第二步 配置域
  • metric_logger小解

    今天看见这个一个函数metric logger 通过搜索资料发现他是utils中的一个MetricLogger类 可称它为度量记录器 因为这种都是自定义的 那我只说说我遇见的这个趴 我们先来看看他初始化里有什么 def init self
  • VMware14安装虚拟机出错——Intel VT-x处于禁用状态

    解决方法 进入BIOS 模式中 开启Intel VT x 具体步骤 win10 1 打开设置 搜索 高级启动 选择更改高级启动选项设置 然后点击立即启动 2 启动后 在蓝屏界面中选择疑难解答 gt 高级选项 gt UEFI固件设置 gt 选
  • 【matlab图像处理】插值方法

    中国史之 懿王攻犬戎 周懿 yi 王攻打犬戎的战争 周懿王在位时期 西周衰弱 戎族不断入侵周朝 一度打到镐 今陕西西安 岐 今陕西岐县 等地 懿王被迫迁都槐里 今陕西兴平县 周懿王派虢 guo 公率军北伐犬戎 企图收复失地 但不幸战败 来源
  • 抽象类、模板方法

    抽象类理解为一种模板 模板模式 使用 package com example demo author dc version 1 0 date 2023 03 28 12 55 public abstract class DayPlan pu