java面向对象.day23(多态)

一些基础介绍:

  1. 即同一方法可以根据发送对象的不同而采用多种不同的行为方式。

  2. 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(一般是父类或有关系的类)

  3. 多态存在的条件

    1. 有继承关系

    2. 子类重写父类方法

    3. 父类引用指向子类对象

  4. 注意:多态是方法的多态,属性没有多态性。

  5. instanceof和类型转换

代码示例:

//父类
public class Perspn{public void run(){System.out.println("run");}
}

//子类
public class Student extends Perspn{//重写run()方法@Overridepublic void run(){System.out.printin("son");}public void eat(){System.out.printin("eat");}
}
​

//使用
public class Application {public static void main(String[] args){//父类的引用指向子类//对象能执行的方法主要看左边的类型,与右边类型的关系不大//Student有的类型,s2无法直接用,Student有的类型,s1可以直接用//Perspn有的类型,s1,s2可以直接用,因为s1是Student类型,而Student继承了Perspn类,可以直接使用父类方法。Student s1 = new Student();Perspn s2 =  new Student();object s3 =  new Student();//子类类型的对象可以调用自己的和父类的方法,而父类类型的对象不能调用子类独有的方法,如果子类重写了父类的方法,那么父类类型的对象调用该方法时,将会是子类重写后的方法S1.run();//son//如果run没有被重写那么输出runS2.run();//sons1.eat();//eat//因为s2是Perspn的引用类型所以不能直接使用子类的方法需要强转成子类((Student)s2).eat();//eat}
}
​

总结:

  1. 多态是方法的多态,属性没有多态

  2. 类似这种转换:Perspn s2 = new Student();必须要有父子关系才行

  3. 多态存在的条件:

    1. 继承关系

    2. 方法重写

    3. 父类引用指向子类对象(指一个变量被声明为父类的类型,但实际上它引用了一个子类的对象)

  4. 方法不能重写的有:

    1. static 方法 (静态),属于类,它不属于实例

    2. final 常量

    3. private方法 (私有)

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

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

相关文章

Hbase 伪分布式安装 - UbuntuServer2204

Hbase 伪分布式安装 - UbuntuServer2204 安装伪分布Hadoop 安装 zookeeper mkdir /export/data/zookeeper/data -p mkdir /export/data/zookeeper/log -pcd /export/softpackages/ tar -xvf apache-zookeeper-3.8.4-bin.tar.gzmv apache-zookeeper-3.8.4-bin /export/server…

STM32-ADC(独立模式、双重模式)

ADC简介 18个通道:外部信号源就是16个GPIO回。在引脚上直接接模拟信号就行了,不需要侄何额外的电路。引脚就直接能测电压。2个内部信号源是内部温度传感器和内部参考电压。 逐次逼近型ADC: 它是一个独立的8位逐次逼近型ADC芯片,这个ADC0809是…

性能测试 Jmeter 非 GUI 模式 -CLI 命令详解

我们在使用Jmeter做性能测试的时候,大部分同学用的是图形化界面进行脚本编写和执行性能测试的。但是其实真正在公司执行性能测试的时候,我们基本上不会用图形化界面去执行测试,这是因为工具渲染这些图形本身会让Jmeter结果存在很多不稳定的因…

FMEA赋能可穿戴设备:打造安全可靠的未来科技新宠!

在科技日新月异的今天,可穿戴设备已成为我们生活中不可或缺的一部分。它们以其便携性、智能化和个性化的特点,深受消费者喜爱。然而,随着可穿戴设备市场的快速扩张,其安全性和可靠性问题也日益凸显。为了确保产品质量,…

关于新版本selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘等问题

旧版本模式: # 以下inputTag任选其一,其他注释掉 inputTag driver.find_element_by_id("value") # 利用ID查找inputTags driver.find_element_by_class_name("value") # 利用类名查找inputTag driver.find_element_by_name(&q…

微信小程序全局配置

全局配置文件及常用的配置项 小程序根目录下的 app.json 文件是小程序的全局配置文件。常用的配置项如下: ① pages 记录当前小程序所有页面的存放路径 ② window 全局设置小程序窗口的外观 ③ tabBar 设置小程序底部的 tabBar 效果 ④ style 是否启用新版的组件样…

java实现根据sql动态下载数据到excel

需求 由于生产数据库不能直接连接下载数据,所以需要在监控系统上做一个根据sql动态查询并下载数据的功能。 实现思路 写一个接口,传入需要查询的数据库信息和sql,将查询的接口导出到Excel中 实现细节 入参 Data public class ExportDat…

递推算法4(c++)

判断整除 题目描述 一个给定的正整数序列,在每个数之前都插入号或−号后计算它们的和。比如序列:1、2、4共有8种可能的序列: (1) (2) (4) 7 (1) (2) (-4) -1 (1) (-2) (4) 3 (1) (-2) (-4) -5 (-1) (2) (4) 5 (-1) (2…

Mint Ubuntu 使用 docker compose 创建容器

1.安装 docker docker-compose sudo apt install docker.io sudo apt-get install docker-compose sudo usermod -aG docker $USER sudo systemctl daemon-reload sudo systemctl restart docker 2.配置国内 docker 镜像源 修改/etc/docker/daemon.json,增加或者…

图灵奖2023:Avi Wigderson的开创性贡献揭示计算中的随机性和伪随机性

文章目录 每日一句正能量前言背景什么是理论计算机科学?为什么随机性很重要?三篇影响深远的论文Avi Wigderson在计算复杂性理论方面的贡献及其对现代计算的影响Avi Wigderson对随机性和伪随机性在计算中作用的理解及其实际应用Avi Wigderson的学术生涯和…

Spring、SpringMVC、SpringBoot核心知识点(持续更新中)

Spring、SpringMVC、SpringBoot核心知识点(持续更新中) Spring Bean 的生命周期Spring 的 IOC 与 AOPSpring Bean 循环依赖Spring MVC 处理请求的过程Spring Boot 自动装配原理Spring Boot 启动流程 Spring Bean 的生命周期 参考文章:一文读…

HBase的数据模型与架构

官方文档:Apache HBase – Apache HBase™ Homehttps://hbase.apache.org/ 一、HBase概述 1.概述 HBase的技术源自Google的BigTable论文,HBase建立在Hadoop之上,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,用于…

mac上 Sublime Text 无法使用 Package Control

我也不知道什么时候用不了的,平时就是用来看看文本文件,因为觉得这个玩意真的很快 今天想安装一个包,发现 cmd shift P 是出来那个窗口了,但是输入什么都没反应,于是在 github 上找到了解决方案 打开终端执行以下命…

发作性睡病患者应该注意哪些生活调整?

发作性睡病是一种慢性睡眠障碍,患者常常在白天出现不可控制的睡意,甚至突然入睡。这种病症不仅影响患者的日常生活和工作,还可能带来安全隐患。因此,发作性睡病患者需要注意以下生活调整,以改善生活质量并减少潜在风险…

vivado 在硬件管理器中调试 AXI 接口

在硬件管理器中调试 AXI 接口 IP integrator 中的 System ILA IP 支持您在 FPGA 上对设计执行系统内调试。在 Versal 器件上 , System ILA 核已被废 弃。现在 , 在含 AXIS 接口的标准 ILA 中支持接口调试。如需监控 IP integrator 块设计中的…

安达发|体育产业体育装备生产车间APS排产软件

在体育产业中,体育装备的生产是保障运动员成绩和安全的关键一环。随着市场需求的多样化和个性化,传统的生产排程方法已经难以满足现代体育装备生产的复杂性和灵活性。因此,应用高级排产软件(APS)进行生产计划和控制成为…

微服务中Dubbo通俗易懂讲解及代码实现

当你在微服务架构中需要不同服务之间进行远程通信时,Dubbo是一个优秀的选择。Dubbo是一个高性能的Java RPC框架,它提供了服务注册、发现、调用、负载均衡等功能,使得微服务之间的通信变得简单而高效。 让我们来看一下Dubbo的通俗易懂的解释和…

RD77MS2 三菱iQ-R系列2轴简单运动模块(SSCNETⅢ/H型)

RD77MS2 三菱iQ-R系列2轴简单运动模块(SSCNETⅢ/H型) RD77MS2用户手册,RD77MS2外部连接,RD77MS2规格。RD77MS2参数说明:2轴;SSCNETⅢ/H连接,位置控制、同步控制、速度.转矩控制、轨迹控制;控制单位mm、inch、degree、pulse;定位数据600数据轴。 RD77MS2图…

OpenXR手部跟踪接口与VIVE OpenXR扩展详细解析

随着虚拟现实技术的发展,手部跟踪已成为提高沉浸感和交互性的关键技术。OpenXR标准为开发者提供了一套手部跟踪的扩展接口,特别是针对VIVE设备的特定实现。以下是这些接口和类的详细解释: 1. VIVE.OpenXR.Hand VIVE.OpenXR.Hand 是HTC VIVE…

APIGateway的认证

APIGateway的支持的认证如下: 我们从表格中可以看到,HTTP API 不支持资源策略的功能,另外是通过JWT的方式集成Cognito的。 对于REST API则是没有显示说明支持JWT认证,这个我们可以通过Lambda 自定义的方式来实现。 所以按照这个…