Java面向对象-抽象类和抽象方法

在这里插入图片描述


Java面向对象-抽象类和抽象方法

    • 1、代码案例展示
    • 2、抽象类和抽象方法的关系:

1、代码案例展示

1、在一个类中会有一类方法,无需重写,直接使用
2、在一个类中会有一类方法,会对这个方法进行重写
3、一个方法的方法体去掉,然后被abstract修饰,那么这个方法就变成了一个抽象方法

在这里插入图片描述
4、一个类中如果有抽象方法,那么这个类也要变成一个抽象类
5、一个抽象类中可以有0个或者n个抽象方法
6、抽象类可以被其他类继承
7、一个类继承一个抽象类,那么这个类可以变成抽象类
8、一般子类不会加abstract修饰,一般让子类重写父类中的抽象方法
9、子类继承抽象类,就必须全部的抽象方法
10、子类如果没有重写父类的全部抽象方法,那么子类可以变成一个抽象类

在这里插入图片描述
11、创建抽象类的对象:抽象类不可以创建对象
在这里插入图片描述
12、创建子类对象
在这里插入图片描述
13、多态的写法
在这里插入图片描述

package com.msb_abstract;//4、一个类中如果有抽象方法,那么这个类也要变成一个抽象类
//5、一个抽象类中可以有0个或者n个抽象方法
public abstract class Person {//1、在一个类中会有一类方法,无需重写,直接使用public void eat() {System.out.println("eat");}//2、在一个类中有一类方法,会对这个方法进行重写//3、一个方法的方法体去掉,然后被abstract修饰,那么这个方法就变成了一个抽象方法public abstract void say();public abstract void sleep();
}//6、抽象类可以被其他类继承
//7、一个类继承一个抽象类,那么这个类可以变成抽象类
//8、一般子类不会加abstract修饰一般让子类重写父类中的抽象方法
//9、子类继承抽象类,就必须全部的抽象方法
//10、子类如果没有重写父类的全部抽象方法,那么子类可以变成一个抽象类。
class Student extends Person {@Overridepublic void say() {System.out.println("say...");}@Overridepublic void sleep() {System.out.println("sleep...");}
}class Demo {public static void main(String[] args) {//11、创建抽象类的对象:抽象类不可以创建对象//Person p = new Person();//12、创建子类对象Student st = new Student();st.say();st.sleep();//13、多态的写法Person p = new Student();st.say();st.sleep();}
}

2、抽象类和抽象方法的关系:

一个抽象类中可以有0个或者n个抽象方法
抽象类的作用:
在抽象类中定义抽象方法,目的是为子类提供一个通用的模板,子类可以在模板的基础上进行开发,先重写父类的抽象方法,然后可以扩展子类自己的内容,抽象类设计避免了子类设计的随意性,通过抽象类,子类的设计变得更加严格,进行某些程度上的限制,使子类更加的通用。

面试题:
1、抽象类不能创建对象,那么抽象类中是否有构造器?
抽象类中一定有构造器,作用:给子类对象初始化对象的时候要先super调用父类的构造器。
2、抽象类是否可以被final修饰?
不能被final修饰,因为抽象类设计的初衷就是给子类继承使用的,要是被final修饰了,就不存在继承了,就没有子类了。

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

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

相关文章

【文心智能体分享】日记周报助手

引言 在繁忙的实习生活中,你是否曾为如何整理日常的工作日志、周报、月报而烦恼?现在,我们为你带来了一个全新的智能体——“日记周报助手”,它将成为你实习过程中的得力助手,帮你轻松整理实习日志,让你的…

mysql 中的锁

一.锁的介绍 锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,除了传统的计算资源(cpu,ram,i/o)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性…

初见 Rollup 的十大常见问题

文章目录 初见 Rollup 的十大常见问题1. 超神奇的 Rollup 英文解释!2. 为什么 ESM 要比 CommonJS 要好呢?3. 什么是 tree-shaking ?4. 如何使用 Rollup 处理 CommonJS?5. 为什么 node-resolve 不是一个内置功能?6. 为什么在进行代…

如何警用root用户登录ssh

使用tail指令,可以动态查看日志信息。 (tail -f /var/log/secure或messages) 使用>符号,可以清空日志内容,不删除文件本身。 禁用root用户为以下步骤: 首先使用useradd创建用户(可以修改为其…

STM32HAL-最简单的时间片论法

目录 概述 一、开发环境 二、STM32CubeMx配置 三、编码 四、运行结果 五、总结 概述 本文章使用最简单的写法时间片论法框架,非常适合移植各类型单片机,特别是资源少的芯片上。接下来将在stm32单片机上实现,只需占用1个定时器作为tick即可。(按键框架+时间片论法)…

【数据结构之B树的讲解】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

【乐吾乐2D可视化组态编辑器】开关、阀门、报警状态切换

开关状态 开关的断开与闭合:将电力组件的“开”与“关”2个组件重叠在一起,右键选择“组合为状态”,属性面板中就可以任意切换状态。 视频教程:开关阀门多状态控制 乐吾乐2D可视化组态编辑器地址:https://2d.le5le.co…

【python】python指南(三):使用正则表达式re提取文本中的http链接

一、引言 对于算法工程师来说,语言从来都不是关键,关键是快速学习以及解决问题的能力。大学的时候参加ACM/ICPC一直使用的是C语言,实习的时候做一个算法策略后台用的是php,毕业后做策略算法开发,因为要用spark&#x…

js编程环境配置-vscode

1、安装Node.js 官网下载 选择适合你Windows系统架构(32位或64位)的安装包。windows系统选择“Windows Installer (.msi)”或“Windows Binary (.exe)”进行下载。 双击下载的.msi或.exe文件进行安装。 在cmd中输入node --version和npm --version&…

2-4 基于matlab的洛伦兹系统分岔图实现

基于matlab的洛伦兹系统分岔图实现。通过2种方法,最大值法,庞加莱截面法进行输出分岔图。可直接运行。 2-4 洛伦兹系统分岔图 最大值法 - 小红书 (xiaohongshu.com)

如何平衡安全访问和办公效率?零信任安全×统一身份才是解决之道

在远程办公、混合办公、跨团队协作日益频繁的今天,企业的业务开展需要支持多种访问接入的需求和场景。如何平衡企业数据的安全访问和办公效率将成为挑战。 在业务的多种接入场景上,企业引入零信任(Zero Trust,ZT)产品…

ESP-IDF OTA升级过程中遇到的“esp_transport_read returned:-1 and errno:128”问题(4)

接前一篇文章:ESP-IDF OTA升级过程中遇到的“esp_transport_read returned:-1 and errno:128”问题(3) 上一回讲到,笔者准备第二天围绕信号强度展开进一步测试。实际上没等到第二天,笔者在当天下午下班时间(18点)以后就进行了相关测试(不过测试倒并不是完全针对于信号强…

手机是如何实现多个应用程序同时运行的?

想要理解这个问题,我们要先了解一下操作系统以及进程相关的知识: 操作系统的功能有很多, 例如: 进程管理(Process Management): 功能:创建和终止进程,进程调度&#xf…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 连续区间和(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 连续区间和(100分) 🌍 评测功能需要订阅专栏后私信联系清隆…

海豚调度异常处理: 使用 arthas 在内存中删除启动失败的工作流

💡 本系列文章是 DolphinScheduler 由浅入深的教程,涵盖搭建、二开迭代、核心原理解读、运维和管理等一系列内容。适用于想对 DolphinScheduler了解或想要加深理解的读者。祝开卷有益。大数据学习指南 大家好,我是小陶,DolphinSch…

明天二战六级

明天二战六级,各位程序员们,加油

八股文系列Spark

为什么Spark 比 MapReduce 更快 DAG相比hadoop的mapreduce在大多数情况下可以减少磁盘I/O次数 mapreduce通常需要将计算的中间结果写入磁盘,然后还要再读取磁盘,从而导致了频繁的磁盘IO。 spark通常不需要将计算的中间结果写入磁盘,只有shuf…

【C++ | const成员】一文了解类的 const数据成员、const成员函数、const对象、mutable 数据成员

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰:2024-06-14 2…

新一代大核卷积反超ViT和ConvNet!同参数量下性能、精度、速度完胜

大核卷积网络是CNN的一种变体,也是深度学习领域的一种重要技术,它使用较大的卷积核来处理图像数据,以提高模型对视觉信息的理解和处理能力。 这种类型的网络能够捕捉到更多的空间信息,因为它的大步长和大感受野可以一次性覆盖图像…

C++语法08 数据类型之间的强制转换

目录 强制类型转换 强制类型转换格式 整型转换成浮点型 整型转换成浮点型其他写法 训练:糖果奖励 糖果奖励参考代码 浮点型转换成整型 浮点型转换成整型其他写法 训练:分离小数 分离小数参考代码 强制类型转换 强制类型转换,就是把…