多态
父类的引用指向子类的类型
Father f = new Son();
而能执行的方法只看左边的类型.
父类可以指向子类,但不能调用子类独有的方法
如果非要调用,可以进行强制类型转换.
注意事项:
-
多态是方法的多态,属性没有多态
-
多态必须在父子类型之间,否则会类型转换异常
-
如果方法未重写,则执行左边类型的方法.
如果方法重写了,那么就执行子类的方法
-
父类引用指向子类对象.
无法重写的方法:
static #属于类
final #属于常量
private #私有化,无法被其他类访问
//以上修饰符修饰过的方法都不可以重写
instanceof
可以判断右侧类型和其他类型的亲属关系
Father f= new Grandson();System.out.println(f instanceof Grandson);//true
System.out.println(f instanceof Son);//true
System.out.println(f instanceof String);//false
System.out.println(f instanceof Grandaughter);//false#有父子类亲属关系为真,兄弟和陌生人为假
若左侧和其他类型无父子/祖孙等亲属关系,则会报错↓
a instanceof b
能不能编译通过:a与b是否为父子类
强制类型转换
父类无法直接调用子类独有的方法
但可以通过强制类型转换来调用
Father f = new Son();#法一:借用中间变量
Son s = (Son) f;
s.show();#法二:合并成一句话
((Son) f).show();
当子类型转换为父类(自动 无需强制)时,可能会丢失自己拥有的方法
注意点:
- 只能由父类的引用指向子类的对象
- 子类转父类,向上转型,自动
- 父类转子类,向下转型,强制
- 优点在于方便了方法的调用,减少了重复的代码
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/938505.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
C0214 拔树游戏 题解
C0214 拔树游戏 题解C0214 拔树游戏 题解
这道题挺有趣的。
不难发现每一次的拔树操作就是对一个根节点的所有子节点(只是下一层)取最小点权的那个节点取代本身。同时发现,因为每次取的节点都是最小的,所以在堆…
CSDN Markdown 编辑器快捷键大全 - 实践
CSDN Markdown 编辑器快捷键大全 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…
P4168 [Violet] 蒲公英题解
P4168 [Violet] 蒲公英题解洛谷题目链接:[Violet] 蒲公英
一道分块好题,调了整整一上午一句话题意:在线求区间众数
考虑到众数没有可加性,所以一般数据结构是不好维护的,这个时候就要用分块了,分块可以维护一些数…
使用SpringBoot + Thymeleaf + MyBatisPlus实现一个简单的书籍管理系统
一 系统功能设计
采用SpringBoot + Thymeleaf + MyBatisPlus技术栈实现一个简单的书籍管理系统,包含以下功能:书籍列表展示
书籍添加
书籍编辑
书籍删除
书籍查询(按条件筛选)二 数据库设计
SET NAMES utf8mb4;
SE…
详细介绍:Java-Spring入门指南(十九)thymeleaf基本概念
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
P2605 [ZJOI2010] 基站选址
题目概述
题目链接:https://www.luogu.com.cn/problem/P2605。
有 \(n\) 个村庄,你需要建立不超过 \(k\) 个基站,每一户人家都有参数 \(d_i,s_i,w_i,c_i\) 分别表示距离第一户人家的距离、在不超过 \(s_i\) 的地方有…
NVIDIA Jetson AGX Xavier刷机教程
NVIDIA Jetson AGX Xavier刷机教程
@目录NVIDIA Jetson AGX Xavier刷机教程1.下载SdkManager2.安装SdkManager3.刷机
1.下载SdkManager
进入SdkManager官网下载SdkManager的deb版本
注意,ubuntu的24.04版本暂时不支持…
洛谷p1462-通往奥格瑞码道路
题目:https://www.luogu.com.cn/problem/P1462
思考过程:
刚拿到这个题,我把消耗的血量和路费当成了负权边去考虑,考虑到我们只需要考虑扣钱的最优,并且在血量扣尽之前达到就好,那我觉得可以用一个数组hp来代表实…
详细介绍:VR 太阳光参数与快速渲染
详细介绍:VR 太阳光参数与快速渲染pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco…
位运算中没用的小技巧
位运算那些没用的小技巧消去最后一位的1 x & (x - 1)交换两个数 a ^= b; b ^= a; a ^= b;检查一个数的奇偶 x & 1求x的绝对值 ~(x >> 31) ? a : ~a + 1取两个数的最大值 x ^ ((x ^ y) & -(x < y…
超越基础:SightAI 智能路由与多模型选择实战 - sight
在第一周的入门指南中,我们已经学会了如何使用 SightAI 的基础 API 调用,实现了一个简单的对话交互。不少开发者会面临新的需求:想降低推理成本时,如何找到性价比更高的模型?追求交互速度时,怎样获取更快的响应?…
[Vulhub靶机]JARBAS靶机渗透
[Vulhub靶机]JARBAS靶机渗透
靶机搭建
下载地址:
https://download.vulnhub.com/jarbas/Jarbas.zip
下载后设置nat模式即可与攻击机同一网段
kali:192.168.88.1331.信息收集
主机发现
首先对C段进行扫描,发现131这台主…
最小二乘问题详解5:非线性最小二乘求解实例
通过拟合非线性函数的实例,详细讲解了非线性最小二乘问题中Gauss-Newton方法的实现过程,并给出了基于Eigen库的C++代码示例及收敛分析。1. 引言
在上一篇文章《最小二乘问题详解4:非线性最小二乘》中,介绍了非线性…