java 继承、多态、抽象类与接口笔记(超级详细!) | java

Java讲课笔记15:抽象类、接口和多态 1. 掌握抽象类及接口的定义和使用 2. 熟悉多态的概念 3. 掌握对象的类型转换 阅读详情

java 继承、多态、抽象类与接口笔记


前言

本篇是学习java所写的笔记,主要针对继承、多态、抽象类和接口

一、继承

1、继承的概念
在这里插入图片描述
父类子类关系图示
在这里插入图片描述
父类(超类)和子类例子
在这里插入图片描述
在继承关系中有两种不一样的关系
一种是Is-a
在这里插入图片描述
另一种是Has-a
在这里插入图片描述
2、继承的格式
在这里插入图片描述
3、java只支持单继承
因为多继承会出现二义性问题,如果出现下面这张图的情况,CDBurner和DVDBurner都继承了DigtialRecorder,又重写中DigtialRecorder的burn(),之后ComboDrive又多继承CDBurner和DVDBurner,那请问它现在burn()是继承自CDBurner还是继承自DVDBurner呢?这就会出现二义性
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210430091342188.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xMTExRWg==,size_16,color_FFFFFF,t_70
所以为了阻止这种情况发生,java规定类只能单继承,一个类只能有一个直接父类,可以有多个间接父类。但是多继承也有它的好处,所以如果要想实现多继承,java还有接口和内部类都可以帮助实现多继承。

4、继承的例子

父类
在这里插入图片描述
子类
在这里插入图片描述
测试
在这里插入图片描述
5、继承下的构造函数的调用次序
在这里插入图片描述
例子说明
可以看出先调用的是父类的构造函数再调用子类的构造函数
在这里插入图片描述
6、访问控制修饰符对继承的影响
在这里插入图片描述
7、变量的隐藏和方法的覆盖
在这里插入图片描述
8、super关键字
前面提到了super引用,现在来解释一下super关键字作用
在这里插入图片描述

注意这里的访问隐藏的成员变量不是指访问私有变量,对于private类型的变量和方法,super是无法引用的,这里是指如果方法或者变量在子类中被重写时如果直接用变量名访问,则子类的同名变量会隐藏父类的同名变量(这些变量可以是protected等但不能是private),而使用super.成员变量或者super.方法则可以明确指出要调用的是父类中的变量或方法。

例子说明上述作用
在这里插入图片描述
在这里插入图片描述

二、多态

1、多态的概念

多态性(Polymorphism)是由面向对象技术的封装性和继承性衍生出来的一个特性。多态就是指事物具有多种形态。
在Java中,多态性体现在两个方面:由方法重载实现的静态多态(编译时多态)和方法重写/覆盖实现的动态多态(运行时多态)
静态多态:在编译阶段,具体调用哪个被重载的方法,编译器会根据参数的不同来确定调用相应的方法。
动态多态:由于子类继承了父类所有的属性(私有的除外),所以子类对象可以作为父类对象使用。程序中凡是使用父类对象的地方,都可以用子类对象代替。一个父类对象引用变量 可以通过引用子类的对象 来调用子类中重写的方法。

在这里插入图片描述
例子
在这里插入图片描述
在这里插入图片描述
2、类型转换
在这里插入图片描述
3、instanceof关键字
在这里插入图片描述
3、final关键字
在这里插入图片描述
static方法不能被覆盖例子:
在这里插入图片描述

三、抽象类

1、抽象类概念
在这里插入图片描述
2、抽象类的声明
在这里插入图片描述

3、抽象方法的声明明
在这里插入图片描述
4、抽象类例子
在这里插入图片描述

四、接口

1、接口的概念
在这里插入图片描述
2、接口的声明
在这里插入图片描述
3、类实现接口
在这里插入图片描述
例子:
在这里插入图片描述
4、接口应用实例
在这里插入图片描述
使用接口的核心原因:可以继承任意多个接口,并能够向上转型为多个基类型或接口,享受“多态”带来的灵活性;

5、接口和抽象类之间的关系
在这里插入图片描述

总结

以上就是我对java继承、多态、抽象类与接口的总结笔记,如果有什么疏漏或者错误的地方,请在评论区发表你的看法,非常感谢你阅读我的笔记

沈阳计算机研究所复试,沈阳计算所复试试题附答案.doc 沈阳计算所复试试题附答案目录数据结构1200612007220085200914操作系统16200616200718200818200919组成原理20200620200720200821200921经典算法22数据结构2006数据结构部分(共25分,第1题10分,第2题15分)在(下图)所示的有向图中:v1 v2v4 ... 阅读详情

相关推荐

多元相关性分析_PAST:最简便易用的统计学分析软件教程目录

欢迎来到PAST的世界!本教程并不是将PAST的所有功能均进行详细介绍,而只是挑选与生物、医学、微生物研究相关的统计学分析内容进行讲述。根据PAST内各项分析的标签分类,将该教程具体设置如下:PAST软件介绍PAST的基本信息数据的输入和修改数据的转换和标准化图像绘制 (Plot标签)点线图和直方图散点图条形图和箱须图饼图堆叠条形图三元相图气泡图单变量统计学分析 (Univariate标...

weixin_39605706的博客 3158

学习日记34--java学习--继承和多态,抽象类和接口

代码块:使用{}括起来的称为代码块 分为 局部代码块,构造代码块,静态代码块,同步代码块 局部代码块 在方法中出现; 限定变量生命周期,及早释放,提高内存利用率 构造代码块 (初始化块) 在类中方法外出现; 多个构造方法方法中相同的代码存放到一起,每次调用构造都执行, 并且在构造方法前优先执行 静态代码块 在类中方法外出现(同构造代码块),并加上static修饰; 用于给类进行初始化...

dershine的博客 362

ESP32 DMX512与RDM协议栈开发指南

DMX512-A是专业灯光控制领域广泛采用的串行通信标准,基于RS-485物理层实现确定性单向数据传输;RDM(Remote Device Management)则在其基础上扩展双向、可寻址、可配置的智能管理能力,满足现代舞台设备远程固件升级、自动发现与参数配置需求。二者共用同一总线但时序与帧结构严格隔离,对硬件定时精度、中断响应延迟及电气隔离提出极高要求。在嵌入式实践中,ESP32凭借Wi-Fi/蓝牙连接能力与丰富外设资源,成为构建低成本智能DMX节点的理想平台。esp_dmx协议栈正是面向该场景的高性能

weixin_34945060的博客 316

Java的接口和抽象类,继承和多态

对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。 一、抽象类  在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声...

Java code farmer 1040

反激变压器设计学习笔记

反激变压器匝比感量设计

m0_55419117的博客 5263

网络攻防技术——MD5碰撞试验

一、题目 本次实验主要是加深大家对MD5碰撞及其原理的理解,使用SEED实验环境中的工具及编程语言,完成以下任务: a)使用md5collgen生成两个MD5值相同的文件,并利用bless十六进制编辑器查看输出的两个文件,描述你观察到的情况; b)参考Lab3_task2.c的代码,生成两个MD5值相同但输出不同的两个可执行文件。 c)参考Lab3_task3.c的代码,生成两个MD5值相同但代码行为不相同的可执行文件。 d)回答问题:通过上面的实验,请解释为什么可以做到不同行为的两个可执行文件具有相同的M

学习记录 3622

java中的接口、继承、多态和抽象,只需这篇文章就够了

在java语言中,可以把万物都视为对象,需要什么都可以new一个出来,深刻了解java中的接口,继承,多态,有助于我们更好的理解java面向对象编程思想。接口提供了多继承的需要;继承的使用可以复用一些定义好的类,减少重复代码的编写;多态的使用可以动态调整对象的调用,降低对象之间的依存关系。 一、继承 什么是继承? 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。 多个类可以称为子类,单独这个类称为父类、超类或者基类。 子类可以.

Moonxiyue的博客 651

SPMI、PMBus、AVSBus:三大电源管理总线对比与选型指南

在现代电子系统中,电源管理是确保高性能与低功耗平衡的核心技术。其原理在于通过数字通信协议,实现电源管理单元(PMIC)与用电芯片间的精准“对话”,从而动态调整供电。这项技术的核心价值在于提升系统能效、增强可靠性并简化设计。其应用场景广泛,从智能手机、服务器到汽车电子无处不在。具体实现上,衍生出了三大主流协议:为移动嵌入式高度集成的SPMI总线、专注于工业标准监控的PMBus总线,以及追求极致实时能效的AVSBus总线。理解SPMI在复杂时序控制与PMBus在标准化配置方面的异同,是进行电源架构选型与调试的关

ithome 458

java 接口 抽象类 继承 重载 重写 多态

4.1 抽象类         在面向对象领域由于抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能实例化的。     同时,抽象类体现了数据抽象的思想,是实现多态的一种机制。它定义了一组抽象的方法,至于这组抽象方法的具体表现形式有派生类来实现。同时抽象类提供了继承的概念,它的出发点就是为了继承,否则它没有存在的任何意义。所以说定义的抽象类一定是用来继承的,同时在一个以抽象...

清露草木的博客 4545

QT编程之PCM音频播放与采集

Qt5/Qt6通用方案。

深之JohnChen的专栏 1172

openEuler在虚拟机的网络配置

ethernet0.virtualDev 可以配置成其他类型的虚拟网络适配器。常见的选项包括:vlance - 用于模拟 AMD PCnet32 LANCE 网络适配器,支持10Mbps。e1000 - 用于模拟 Intel E1000 千兆网络适配器,支持1Gbps。e1000e - 用于模拟更现代的 Intel E1000e 千兆网络适配器。vmxnet - 用于 VMware 的自定义网络适配器,性能更好但需要安装 VMware Tools。

FHY1221的博客 2933

浅谈Java面向对象编程之多态、继承、抽象类、接口

1. 包 包 (package) 是组织类的一种方式。 使用包的主要目的是保证类的唯一性。 1.1 导入包中的类 java中提供了很多现成的类供我们使用 public class Test { public static void main(String[] args) { java.util.Date date = new java.util.Date(); // 得到一个毫秒级别的时间戳 System.out.println(date.getT

na 小子叫坚强的博客 1540

海思Hi3519AV100 sensor移植实战:IMX586驱动调试与硬件验证全流程

本文详细解析了在海思Hi3519AV100平台上移植索尼IMX586传感器的全流程实战。内容涵盖从硬件I2C通信验证、驱动代码移植与修改,到内核配置、时钟设定,以及使用示波器进行硬件信号深度验证和ISP图像调优等关键步骤,为开发者提供了一套清晰、可复现的sensor移植与调试方法。

weixin_29168393的博客 395

【Java语法】包 继承 多态 抽象类 接口

一、包 包 (package) 是组织类的一种方式. 使用包的主要目的是保证类的唯一性 将类将放到包中 基本规则 在文件的最上方加上一个 package 语句指定该代码在哪个包中. 如果一个类没有 package 语句, 则该类被放到一个默认包中 包的访问权限控制 如果某个成员不包含 public 和 private 关键字, 此时这个成员可以在包内部的其他类使用, 但是不能在包外部的类使用. 二、继承 继承 对共性的抽取,使用extends关键字进行处理,可以对代码重复使用 语

耀的博客 9937

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Java基础 | 继承,多态,抽象类与接口

继承,多态,抽象类和接口

zszq111的博客 2320

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

JAVA继承、接口、多态

先来张菜鸟教程上找到的图方便理解: 文章目录(一)继承1.概念:2.简单举例:3.继承的作用4.继承类型5.继承特性与相关使用规则6.Java 重写(Override)与重载(Overload)(1) 重写(2)重载(二) 接口1.定义:2.接口特性:3.接口与其它的比较(1)接口与类的比较(2)接口与抽象类的比较(3)接口与继承的比较4.接口的继承(三)多态1.定义:2.多态的优点:3.多态存...

洺润Star的博客 2442

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【Java】继承、多态、接口

Java中的继承和接口 1、用类比引入继承概念 众所周知,Java是一门面向对象的语言。如果我们要设计多种多样的交通工具,比如汽车、火车、飞机,虽然这些工具功能不同、形态不同,但是他们很多的基本功能相同,比如——载人,行驶,是否能飞…,于是我们把class Vehicle(交通工具类)当作设计交通工具的标准,再通过这个标准创建不同的交通工具,包括汽车、火车、飞机等等(class Car,class Train,class Air…),这些工具的共有属性都是继承设计标准(class Vehicle)中的属性。

woodwhale的博客 4762

Java第三周:继承和多态,抽象类和接口

两个代码学会继承和多态,抽象类和接口,它允许一个类(子类或派生类)继承另一个类(父类或基类)的属性和方法。子类可以在父类的基础上进行扩展,添加新的属性和方法,或者重写父类的方法。例如,在Java中,使用extends关键字来实现继承关系。DogAnimalDogAnimalnamegetNamebarksuper二、多态多态是指同一个操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在面向对象编程中,多态主要通过方法重写和接口实现来体现。例如,继续以上面的Animal和Dog。

一些知识和经验 1550

继承,多态,抽象类,接口

抽象类也是类,只是抽象类具备了一些特殊的性质。我们以前编写一个类时,会为这个类编写具体的属性和方法,但有一些情况我们只知道一个类需要哪些属性方法,但不知道这些方法具体是什么,这时我们就要用到抽象类。举个例子,有一位老师布置了一篇作文,要求以春天为题目写一篇字数不少于800字的写景作文,题材不限(诗歌除外)。在这个例子中,这篇作文就是一个抽象类,这个抽象类有两个属性:以春天为题目和字数不少于800,还有一个抽象方法:写景。现在全班学生就会按照老师所给的要求,即抽象类,去完成作业。

shang_an_1的博客 1468

初始Java Java SE 包,继承,组合,多态,抽象类,接口

目录 包 1.静态导入 2.将类放到包中 3.包的访问权限控制 继承 基本语法: 注意事项: protected 关键字 final 关键字 组合 多态 向上转型: 动态绑定 方法重写 重写的规则: 注意事项 : 重载和重写的区别: 向下转型 super 关键字 1.使用了 super 来调用父类的构造器 2.使用 super 来调用父类的普通方法 super和this的区别 理解多态: 抽象类 语法规则 注意事项: 1.包含抽象方法的类,叫做抽...

wwzzzzzzzzzzzzz的博客 1890

Java继承、super、this、抽象类、接口、多态

Java的继承,super、this、抽象类、接口、多态

m0_55597999的博客 1017

java基础-第六章 继承、多态、抽象类、接口

前面介绍了面向对象中类和对象的概念以及如何将数据放到类和对象中(封装),本章将继续介绍三大特性中继承和多态的概念。以及如何使用抽象类和接口来约束类。有时我们的某些方法(功能)在父类中并不会定义其具体的实现功能,而是只想表示有这个功能,具体实现交给子类完成,这样的功能(方法)没有方法体,叫抽象方法,拥有抽象方法的类叫抽象类。用abstract关键字来修饰抽象类和抽象方法。接口是为了解决抽象类的一个弊端出现的。抽象类的弊端:抽象类中的某些抽象方法,对于某子类而言是不需要的,但该子类却必须继承并重写。

m0_74606902的博客 796

Java---接口、继承与多态

目录 一、类的继承 二、Object类 1. getclass()方法 2. toString()方法 3. equals()方法 三、对象类型的转换 四、使用instanceof操作符判断对象类型 五、方法的重载 定义不定长参数方法 六、多态 七、抽象类与接口 1、抽象类 2. 接口 3. 接口与继承 一、类的继承 在subroutine.java中: ...

malechi的博客 2311

Java(基础)(四)继承、重载、重写、多态、抽象类、接口、final、Static

本文摘要: 文章系统梳理了Java面向对象编程的核心概念。1)继承:单继承特性,子类继承父类属性和方法,Object为所有类的超类;2)重载:同一类中同名方法通过参数列表区分;3)重写:子类覆盖父类方法需遵循访问权限规则;4)多态:通过继承、重写和父类引用子类对象实现;5)抽象类与接口:抽象类定义模板规范,接口作为功能标准,区别在于继承关系与功能实现;6)静态成员:类级别属性和方法的特性及使用限制;7)工具类设计原则。全文通过概念解析和代码示例,完整呈现了Java面向对象的核心机制与设计思想。(150字)

weixin_73741891的博客 1353

java —— 封装、继承、接口和多态

① abstract 修饰类abstract 修饰的类称为抽象类,抽象类只能被继承,不能实例化。② abstract 修饰方法abstract 修饰的方法称为抽象方法,抽象方法只能存在于抽象类中。抽象方法没有方法体,且被子类继承时,子类(如果该子类不是抽象类)必须对该方法进行重写。

firstgrass的博客 1627

实现多态的三种方法之抽象类和接口

实现多态的方法 多态性通过派生类重载基类中的虚函数型方法来实现。 可以用不同的方式实现组件中的多态性: 1.接口多态性。 2.继承多态性。 3.通过抽象类实现的多态性。 (继承在前边讲过,所以这里只讲抽象类和接口) 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类...

hgh1998的博客 3364
上一篇: java内部类笔记(超级详细!) | java
下一篇: 用Java实现斐波那契数列 |java
LLLLQZ
博客等级 码龄7年 308粉丝 51原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值