多态(4)

devtools/2025/1/19 3:10:02/

大家好,今天我们来讲讲向下转型这个知识点,这个知识点并没有向上转型用得那么频繁,但是也需要了解一下。

2.4.2向下转型

当一个子类对象经过向上转型之后当成父类方法使用,再无法调用子类的属性和方法。但有时候可能需要调用子类的属性和方法 ,此时:将父类引用再还原为子类对象即可,即向下转换.

 

08ed7e12a21049758c4a25d10bf3d02b.png

向下转型用的比较少,而且不安全,万一转换失败,运行时就会抛异常,java中为了提高向下转型的安全性,引入了instanceof (返回值是true或false),如果该表达式为true,则可以安全转换.

70d9eefe5dbd49acb2f46440bbc7f838.png

9aa78097b74149cb9b92dd2a905219c7.png 

好了,今天分享就到这里,谢谢大家!!!

738cd5b0d9e94dc1883dcdc51f459d8d.png 

 


http://www.ppmy.cn/devtools/151727.html

相关文章

PyTorch 中的 Dropout 解析

文章目录 一、Dropout 的核心作用数值示例:置零与缩放**训练阶段****推理阶段** 二、Dropout 的最佳使用位置与具体实例解析1. 放在全连接层后2. 卷积层后的使用考量3. BatchNorm 层与 Dropout 的关系4. Transformer 中的 Dropout 应用 三、如何确定 Dropout 的位置…

MinerU:高效智能PDF文档解析工具完全指南

引言 MinerU是一款开源的智能文档解析工具,专注于将PDF等文档高效转换为Markdown和JSON等结构化格式。在当前大语言模型(LLM)蓬勃发展的时代,高质量的结构化数据对于训练和微调LLM至关重要。MinerU通过其强大的智能文档解析能力,不仅可以为L…

Visual Studio环境搭建Qgis二次开发环境

QGIS(Quantum GIS)是一款开源的地理信息系统软件,支持二次开发以满足特定的地理信息处理需求。二次开发通常涉及到使用QGIS提供的API和SDK来创建自定义插件或独立应用程序。以下是关于如何搭建QGIS二次开发环境的一些关键步骤和注意事项。 1…

sqlite3.OperationalError: database is locked python-BaseException错误解决

报错有2种: sqlite3.OperationalError: attempt to write a readonly databasesqlite3.OperationalError: database is locked python-BaseException 原因及解决方案: 1、被占用 由于SQLite只支持单线程。SQLite数据库在同一时间只能由一个连接执行写…

【PCL】Segmentation 模块—— 欧几里得聚类提取(Euclidean Cluster Extraction)

1、简介 PCL 的 Euclidean Cluster Extraction(欧几里得聚类提取) 是一种基于欧几里得距离的点云聚类算法。它的目标是将点云数据分割成多个独立的簇(clusters),每个簇代表一个独立的物体或结构。该算法通过计算点与点…

25/1/15 嵌入式笔记 初学STM32F108

GPIO初始化函数 GPIO_Ini:初始化GPIO引脚的模式,速度和引脚号 GPIO_Init(GPIOA, &GPIO_InitStruct); // 初始化GPIOA的引脚0 GPIO输出控制函数 GPIO_SetBits:将指定的GPIO引脚设置为高电平 GPIO_SetBits(GPIOA, GPIO_Pin_0); // 将GPIO…

windows 极速安装 Linux (Ubuntu)-- 无需虚拟机

1. 安装 WSL 和 Ubuntu 打开命令行,执行 WSL --install -d ubuntu若报错,则先执行 WSL --update2. 重启电脑 因安装了子系统,需重启电脑才生效 3. 配置 Ubuntu 的账号密码 打开 Ubuntu 的命令行 按提示,输入账号,密…

【Redis】初识Redis

目录 Redis简介 Redis在内存中存储数据 Redis数据库中的应用 Redis缓存中的应用 Redis消息中间件 尾言 Redis简介 如下是Redis官网中,对Redis的一段描述 在这段描述中,我们提取如下关键要点: Redis主要用于在内存中存储数据Redis可…