当前位置: 首页 > news >正文

java的对象向上转型

对象向上转型,父类对象就可以调用子类重写父类的方法,这样当父类对象需要添加新的功能时,只需要添加一个子类,在子类中对父类的功能进行扩展,而不需要更改父类代码

向上转型,格式如下

父类类型 父类对象=子类实例

示例代码如下

class Animal{public void shout(){System.out.println("喵喵....");}
}class Dog extends Animal{public void shout() {System.out.println("汪汪·····");}public void eat(){System.out.println("吃骨头····");}
}public class Shangxiangzhuanxiang {public static void main(String[] args) {//向上转型Dog dog=new Dog();Animal an = dog;an.shout();}

在上面代码中

class Animal{public void shout(){System.out.println("喵喵....");}
}

父类Animal定义了一个方法,shout方法输出的内容是“喵喵”


class Dog extends Animal{public void shout() {System.out.println("汪汪·····");}public void eat(){System.out.println("吃骨头····");}
}

这段代码里,子类继承了父类,重写了shout方法,并且新写了一个eat方法

public class Shangxiangzhuanxiang {public static void main(String[] args) {//向上转型Dog dog=new Dog();Animal an = dog;an.shout();}

执行代码里,先定义了Dog类的对象实例,通过Animal an = dog的方法实现了向上转型,把shout方法重写了。

最后执行shout方法,输出的是

“汪汪”

相关文章:

java的对象向上转型

对象向上转型,父类对象就可以调用子类重写父类的方法,这样当父类对象需要添加新的功能时,只需要添加一个子类,在子类中对父类的功能进行扩展,而不需要更改父类代码 向上转型,格式如下 父类类型 父类对象子…...

Navicat Premium 16破解

Navicat Premium 16破解教程 1安装Navicat Premium 16 通过百度网盘分享的文件:Navicat_Premium_16_chs-x64.zip 链接:https://pan.baidu.com/s/1ryRSJ2d9s6rXI09LEmLtpw?pwdz7wo 提取码:z7wo 一直下一步即可 2破解 选择刚才安装路径&am…...

【C/C++】C语言到C++的入门知识点(主要适用于C语言精通到Qt的C++开发入门)

【C/C】C语言到C的入门知识点(主要适用于C语言精通到Qt的C开发入门) 文章目录 C语言与C的不同C中写C语言代码C语言到C的知识点Qt开发中需要了解的C基础知识namespace输入输出字符串类型class类构造函数和析构函数(解析函数)类的继…...

docker 建木 发版 (详细教程)

先创建git仓库 Git勤勉 两种方式上传-CSDN博客 把项目送上去 进入建木 可以接着这个来 dockerfile部署镜像 ->push仓库 ->虚拟机安装建木 ->自动部署化 (详细步骤)-CSDN博客 创建分组项目 开始操作 git 上钩子 前面链接里有这个教…...

什么样的人适合学习网络安全?

一、引言 在当今数字化的时代,网络安全已经成为了一个至关重要的领域。随着网络攻击的日益频繁和复杂,对于网络安全专业人才的需求也在不断增长。然而,并不是每个人都适合学习网络安全。那么,究竟什么样的人适合投身于这个充满挑…...

大厂linux面试题攻略四之Linux网络服务(二)

五、Linux网络服务-Apache优化 1.请写出工作中常见的Apache优化策略 Apache服务器优化是提升网站响应速度和稳定性的重要手段。在工作中,常见的Apache优化策略包括以下几个方面: 1. 启用压缩技术 Gzip压缩:使用Gzip压缩技术可以减少服务器…...

MySQL和PostgreSQL group by后 Concatenate 拼接所有的字符串

MySQL: GROUP_CONCAT(DISTINCT t2.T_CODES ORDER BY t2.T_CODES ASC) AS t_str, PostgreSQL 8.4 array_to_string(array_agg(t2.T_CODES), , ) AS t_str, PostgreSQL 9 string_agg(t2.T_CODES), , )...

Python爬虫技术 第24节 数据清洗和预处理(二)

在Python爬虫项目中,数据清洗和预处理是非常关键的步骤。这部分工作通常涉及到字符串操作、缺失值处理和数据格式转换等方面。下面我将详细讲解这些方面的内容,并提供具体的代码示例。 1. 字符串操作 字符串操作在数据清洗过程中非常重要,因…...

conda常用命令整理

Anaconda是一个流行的Python和R编程语言的开源发行版,用于科学计算和数据分析。它包含了许多常用的开源软件包和工具,适用于数据科学、机器学习、大数据处理和科学计算等领域。Anaconda的核心是conda。conda是一个包管理器和环境管理器,可以轻…...

JDK8新特性之Lambda表达式快速入门

目录标题 为什么使用 Lambda 表达式示例一:先看一个常用排序类Comparator的示例示例二:筛选员工数据的示例传统方式实现的示例策略模式优化的示例 Lambda 基础语法语法格式一:无参数,无返回值语法格式二:有一个参数&am…...

QEMU源码全解析 —— CPU虚拟化(14)

接前一篇文章: 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM》源码解析与应用 —— 李强,机械工业出版社 《深度探索Linux系统虚拟化原理与实现》—— 王柏生 谢广军, 机械工业出版社 特此致谢! 三、KVM模块初始化介绍 2. KVM模块初始化 KV…...

libsoup的简单使用

基于GLib和libsoup的简单Web服务器示例,它可以处理静态HTML文件和动态JSON请求,并展示如何获取URL参数。 步骤: 初始化GLib和libsoup。创建一个处理静态HTML文件的处理器。创建一个处理动态JSON请求的处理器。获取URL参数并在JSON响应中返回…...

electron项目搭建

前言:electron是一个跨平台桌面端应用开发工具。它将整个系统内容分为主进程和渲染进程两个部分(你可以粗略的理解为electron项目开启了两个服务器,一个渲染页面另一个处理electron窗口内容)。这两个"服务器"之间通过JS Bridge进行通信(即&…...

【CVPR2024】Efficient LoFTR: 高效的 LoFTR:具有类似稀疏的速度的半密集局部特征匹配

Efficient LoFTR: 高效的 LoFTR:具有类似稀疏的速度的半密集局部特征匹配 Efficient LoFTR realtime_demo 0.摘要 \qquad 我们提出了一种新的方法来有效地产生跨图像的半密集匹配。以往的无探测器匹配器LoFTR在处理大视点变化和纹理差的场景下表现出了出色的匹配能力…...

【Golang 面试 - 基础题】每日 5 题(九)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…...

《程序猿入职必会(4) · Vue 完成 CURD 案例 》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…...

编程技巧:如何优雅地合并两个有序数组?

目录 题目引用描述1.直接合并 排序2.指针3.后逆向双指针进阶:你可以设计实现一个时间复杂度为 O(m n) 的算法解决此问题吗?总结 题目 来自力扣 引用 合并两个有序数组 给你两个按 **非递减顺序 **排列的整数数组 nums1 和 nums2,另有两个整…...

Vue组件库移动端预览实现原理

引言 大家如果使用过移动端组件库(比如:Vant),会发现在网站右侧有一个手机端的预览效果。 而且这个手机端预览的内容和外面的组件代码演示是同步的,切换组件的时候,移动端预览的内容也会发生相应的变化。 …...

FastAPI(七十五)实战开发《在线课程学习系统》接口开发-- 创建课程

源码见:"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统" 上次我们分享了,FastAPI(七十四)实战开发《在线课程学习系统》接口开发-- 删除留言 从本篇文章开始,…...

【C++】 条件变量实现线程同步示例

在做一些比较大的项目的时候,需要实现线程同步, 这里结合一个小示例,进行线程同步的讲解 问题定义 以下是一个使用 C 多线程和条件变量的示例,展示了线程 A 接收一个 enable 信号并通知线程 B 开始工作。线程 B 在开始工作之前…...

python异常模拟工具类(异常生成工具类)

文章目录创建代码类使用主要是做测试的时候方便,创建代码类 1、新建python文件exception_mock_utils.py,代码为: import random import time from typing import Any, Optionalclass ExceptionMockUtils:"""异常模拟工具类用…...

大数据在电力行业应用案例解析 -【电力技术】(25)RPA 在电力业扩报装中的自动化应用与实现

目录 一、引言:业扩报装的效率瓶颈 二、RPA 技术特点与电力适用性 三、RPA 在业扩报装中的四大核心应用场景 3.1 预受理自动审核 3.2 批量用户信息自动导入 3.3 勘查工单自动派工 3.4 流程自动流转与归档 四、RPA 实施流程(标准化) 五、典型应用成效 六、完整可运行…...

Agent调试技巧:LangSmith与日志分析

Agent开发最痛苦的部分是调试。传统代码调试,你能看到每一行执行的结果。Agent调试,你只能看到"输入 → 输出",中间的推理过程是个黑盒。 这篇文章,我们讨论Agent调试的方法和工具:怎么追踪Agent的推理过程…...

理视康新零售系统开发要点

业务模式设计新零售模式需整合线上线下渠道,构建会员体系、分销机制与数据中台。通过小程序、APP或H5实现线上商城,线下门店采用智能硬件(如AR试戴、智能货架)提升体验。结合LBS技术实现附近门店导流,支持到店自提或同…...

java打卡学习6:集合框架 Collection

集合框架概述集合框架(Collection Framework)是Java中用于存储、操作和传输数据的标准化架构。它提供了一组接口、实现类和算法,用于处理对象集合,简化了数据结构的操作。核心目标:性能优异:提供不同数据结…...

企业内网必看:用U盘搞定Ubuntu服务器Docker离线部署(含依赖树分析)

企业级Ubuntu服务器Docker离线部署全指南:从依赖分析到实战落地 在金融、医疗等对网络安全要求极高的行业,服务器往往部署在物理隔离的内网环境中。这种封闭式架构虽然最大程度降低了外部攻击风险,却给软件部署带来了独特挑战——如何在没有互…...

Vue3+ECharts水球图实战:手把手教你打造个性化数据展示组件

Vue3与ECharts水球图深度整合:打造企业级数据可视化组件 在数据驱动的时代,可视化呈现已成为现代Web应用的核心竞争力。水球图(Liquid Fill Chart)作为一种直观展示百分比数据的可视化形式,在仪表盘、进度监控和数据看…...

Streamlit像素UI深度优化教程:解决Ostrakon-VL终端文字遮挡问题

Streamlit像素UI深度优化教程:解决Ostrakon-VL终端文字遮挡问题 1. 项目背景与问题分析 在开发Ostrakon-VL零售扫描终端时,我们选择了一种独特的像素艺术风格UI设计。这种高饱和度的8-bit复古游戏美学虽然提升了用户体验的趣味性,但也带来了…...

基于改进型多目标粒子群算法的电铲永磁同步电机过载工况下电磁-热双向耦合优化设计

基于改进型多目标粒子群算法的电铲永磁同步电机过载工况下电磁-热双向耦合优化设计 摘要 本文针对矿山电铲提升系统用永磁同步电机在过载起升、卡斗遇硬岩等瞬态超载工况下易发生温升异常,影响电机可靠性的问题,提出了一种基于电磁-热双向耦合的多目标优化设计方法。首先,…...

YimMenu完全指南:GTA5免费辅助工具从入门到精通

YimMenu完全指南:GTA5免费辅助工具从入门到精通 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu …...