--- JAVA 多态 ---

多态,顾名思义就时有多种形态,那咋样才嫩共有多种形态呢,再java中就是用不同的对象去调用同一个方法,产生了不同的结果。

看这段代码,我调用的是同一个方法,且只是传入的对象的不同,但是产生了不同的结果,这就是多态

多态的执行条件

必须要子类继承了父类

 子类要对父类的方法进行重写,要发生向上转型

同过父类调用子类的方法

那什么是重写呢

再子类的父类中有相同的方法,且该方法的放回值,参数,名字相同,且子类的访问权限大于等于父类在调用父类的该方法时,子类的方法会重写父类的方法啊,所以当调用的父类的方法,实际执行的是子类的方法 只有将她的访问权限设置为public 返回类型,参数和她一样才可以成功运行

再发生向上转型后,调用父类的发重写的方法,最终产生不同的效果把这整个过程叫做动态绑定,再编译时不能确定方法的行为,只有再程序运行后才知道,也叫做晚绑定

当然也有静态绑定,这是在用户传参时就能确定调用的是哪个方法,典型就是方法重载

向下转型

在发生向上转型后,我们如果要调用子类的成员是不行的,只能调用父类有的成员

那如果要调用子类的方法,那么就要用到向下转型了

因为向下转型是从小变到大的转换,是有风险,在转换是需要判断能否进行

这里用到一个关键字,instanceof ,用来确认lei这个类否是后面hh的变量,若是表达式为true 否者为false,只有当lei这个类是后面hh的父类是,才能使用向下转型,将lei强转为hh,然后使用一个hh类型的变量tmp去接收,这样就可以同过tmp去调用子类的成员了

END 加油哦

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

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

相关文章

Linux网络服务之SSH(远程访问及控制)

ssh远程管理: ssh是一种安全通道协议,用来实现字符界面的远程登录。远程复制,远程文本传输。 ssh对通信双方的数据进行了加密 用户名和密码登录 密钥对认证方式(可以实现免密登录) ssh 22 网络层 传输层 数据传输…

【成品设计】基于红外线的目标跟踪无线测温系统设计

《基于红外线的目标跟踪无线测温系统设计》 整体功能: A端:无线跟踪端 主控:采用STM32F103C8T6单片机作为核心控制。360度编码模块数字脉冲输出红外解码编码模块OLED屏幕。 B端:无线待测端 主控:采用STM32F103C8T…

C语言杂谈:函数栈帧,函数调用时到底发生了什么

我们都知道在调用函数时,要为函数在栈上开辟空间,函数后续内容都会在栈帧空间中保存,如非静态局部变量,返回值等。这段空间就叫栈帧。 当函数调用,就会开辟栈帧空间,函数返回时,栈帧空间就会被释…

SpringBoot——整合Servlet的三大组件:过滤器(Filter)

目录 过滤器 一、用过滤器检查用户是否登录 LoginFilter自定义过滤器 FilterConfig配置类 FilterController控制器 SpringbootFilterApplication启动类 二、用过滤器统计资源访问量 LoginFilter FilterController 在开发SpringBoot项目时,开发人员经常需…

iOS swift5 加载网络图片的第三方框架

Kingfisher - github: 类似SDWebImage 参考博客: 一些swift项目中常用的处理图片的第三方框架 - 博客园

数据动态变化时实现多选及回显

<template><el-dialog title"设置权限" :visible.sync"showDialog" :close-on-click-modal"false" :append-to-body"true" width"800px"><div v-loading"loading"><el-radio-group v-model&…

RobotMaster编程语言:深度探索与实践挑战

RobotMaster编程语言&#xff1a;深度探索与实践挑战 RobotMaster编程语言&#xff0c;作为机器人编程领域的一颗璀璨明珠&#xff0c;其独特性与复杂性吸引了无数探索者的目光。本文将从四个方面、五个方面、六个方面和七个方面深入剖析这一编程语言的奥秘&#xff0c;同时揭…

Servlet实现会话追踪登录功能(结合JDBC)

目录 1.技术要求 2.关于会话Session 生活例子 代码体现 1.存储到session 2.从session中拿出 3.完成登录功能 4.利用Session作追踪 关于jstl应用 关于EL表达式应用 注意 5.测试 1.技术要求 核心&#xff1a; &#xff08;1&#xff09;Servlet项目的搭建 &#x…

C++---模板进阶(非类型模板参数,模板的特化,模板分离编译)

我们都学习和使用过模板&#xff0c;而这篇文章我们来将一些更深入的知识。在此之前&#xff0c;我们在使用C编程时可以看到模板是随处可见的&#xff0c;它能支持泛型编程。模板包括函数模板和类模板&#xff0c;我们有的人可能会说是模板函数和模板类&#xff0c;但严格讲这样…

MyQueue(队列)

目录 一、队列的定义 二、队列方法的实现 1、定义队列 2、后端插入 3、前端操作 4、判断队列是否为空 5、队列大小 三、队列方法的使用 一、队列的定义 队列是一种特殊的线性表&#xff0c;特殊之处在于它只允许在表的前端&#xff08;front&#xff09;进行删除操作&am…

Ripple:使用Wavelet Approximations来加速FHE的Programmable Bootstraps

1. 引言 University of Delaware和Nillion团队的 Charles Gouert、Mehmet Ugurbil、Dimitris Mouris、Miguel de Vega 和 Nektarios G. Tsoutsos&#xff0c;2024年论文《Ripple: Accelerating Programmable Bootstraps for FHE with Wavelet Approximations》&#xff0c;开源…

JVM内存分析之JVM分区与介绍

JVM&#xff08;Java Virtual Machine&#xff09;作为Java平台的核心组件&#xff0c;为Java应用程序的运行提供了一个虚拟的计算机环境。为了更好地理解和优化Java应用程序的性能&#xff0c;对JVM的内存管理进行深入分析是至关重要的。本文将详细介绍JVM的内存分区及其功能。…

关于一些优化的知识

1、凸优化&#xff1a;一定可找到全局最优解 非凸优化&#xff1a;一般是局部最优解 2、无约束优化问题求解方法&#xff1a;梯度下降、拟牛顿法、高斯牛顿法、LM算法 3、 解释&#xff0c;就是右边的式子对应于就是当前这个xk这个点基础上朝着pk取走步长为a得到了对应的值&…

vscode运行命令报错:标记“”不是此版本中的有效语句分隔符。

1. 报错问题 标记“&&”不是此版本中的有效语句分隔符。 2. 解决办法 将 terminal 中的 owershell 改成 cmd 就 ok

To C道路越走越夯实,1688彻底变身了?

在偌大的电商市场&#xff0c;消费者都是专业的“掘宝者”&#xff0c;热衷于发现各种新奇商品和采购新通路。 拼多多、1688等平台也正是在这种情况下&#xff0c;成为消费市场的“宠儿”。其中&#xff0c;1688的发展路径较为独特&#xff0c;据天眼查&#xff0c;其为源头厂…

pytorch中的维度变换操作性质大总结:view, reshape, transpose, permute

在深度学习中&#xff0c;张量的维度变换是很重要的操作。在pytorch中&#xff0c;有四个用于维度变换的函数&#xff0c;view, reshape, transpose, permute。其中view, reshape都用于改变张量的形状&#xff0c;transpose, permute都用于重新排列张量的维度&#xff0c;但它们…

《python-配置》在ubuntu系统上安装pycham并破解

阿丹&#xff1a; 因为ai开发要使用ubuntu系统&#xff0c;整理和总结一下如何在这里安装pycham 官网下载&#xff1a;pycham下载地址 PyCharm: the Python IDE for data science and web development 官网操作流程&#xff1a; 1&#xff0c;点击下载 2、下载其他版本 3、…

python中使用set()创建集合

python中set是一种无序且不重复的元素集合。Python 集合会将所有元素放在一对大括号 {} 中&#xff0c;相邻元素之间用“,”分隔 Python 中的序列类型包括列表&#xff08;list&#xff09;、元组&#xff08;tuple&#xff09;、字典&#xff08;dict&#xff09;和集合&…

如何理解与学习数学分析——第二部分——数学分析中的基本概念——第9章——可积性

第2 部分&#xff1a;数学分析中的基本概念 (Concepts in Analysis) 9. 可积性(Integrability) 本章讨论了可积性(integrability)的概念(它不同于积分过程)。研究了反导数(antiderivative&#xff0c;或称原函数)和函数图像下面积之间的关系&#xff0c;然后通过对面积的近似…

应用解析 | 面向智能网联汽车的产教融合解决方案

背景介绍 随着科技的飞速发展&#xff0c;智能网联汽车已成为汽车产业的新宠&#xff0c;引领着未来出行的潮流。然而&#xff0c;行业的高速发展也带来了对高素质技术技能人才的迫切需求。为满足这一需求&#xff0c;推动教育链、人才链与产业链、创新链的深度融合&#xff0…