Java--多态--向上转型--动态绑定机制--断点调试--向下转型

目录

1. 向上转型

2. 向下转型

3. java的动态绑定机制:

4. Object类讲解

5.  断点调试


1. 向上转型

提前:俩个对象(类)存在继承关系

本质:父类的引用指向了子类的对象

语法:父类 类型   引用名 = new 子类类型();

特点:

1. 编译类型看左边,运行类型看右边。

2. 可以调用父类中的所有成员(遵循守访问权限)

3. 不能调用子类中特有成员

4. 最终运行效果看子类的具体实现!


2. 向下转型

语法 :子类 类型   引用名 =  (子类类型)父类引用;

只能强转父类的引用,不能强转父类的对象

要求父类的引用必须指向的是当前目标类型的对象

当向下转型    可以调用子类类型中所有的成员 

注意细节:

属性没有重写一说!属性的值看编译类型

instanceOf 比较操作符,用于判断对象的运行类型是否为XX类型或XX类型的子类型。


3. java的动态绑定机制:

1. 当调用对象方法的时候,该方法会和对象的内存地址/运行类型绑定

2. 当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用


4. Object类讲解

1. ==:即可以判断基本类型,又可以判断引用类型,判断的地址是否相等,即判断是不是同一个对象

2. equals:是object类中的方法,只能判断引用类型。

3. hashCode方法:提高具有哈希结构容器的效率

4. toString方法:打印对象或拼接对象时,都会自动调用该对象的toString形式。当直接输出一个对象时,toString就会默认的调用

5. finalize方法:当对象被回收时,系统自动调用该对象的finalize方法。子类可以重写该方法,做一些释放资源的操作。


5.  断点调试

1.  在开发中,新手程序员在查找错误时,老程序员就会温馨提醒,可以用断点调式,一步一步的看源码执行的过程,从而发现错误所在

2. 在断点调式过程中,是运行状态,是以对象的运行类型来执行的

介绍:

断点调试在程序某一行设置一个断点,调试时,程序运行到这一行就会停住,然后一步一步往下调试,调试会看到各个变量的值,出错的话,调试到出错代码行即显示错误,停下,分析找到bug。

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

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

相关文章

Python爬虫实战:研究urllib 库相关技术

1. 引言 1.1 研究背景与意义 互联网每天产生海量数据,如何高效获取和利用这些数据成为重要研究方向。网页爬虫作为自动获取网络信息的核心技术,在市场调研、舆情分析、学术研究等领域具有广泛应用。Python 凭借其简洁语法和丰富库支持,成为爬虫开发的首选语言。 1.2 相关…

【机器学习赋能的智能光子学器件系统研究与应用】

目前在Nature和Science杂志上发表的机器学习与光子学结合的研究主要集中在以下几个方面: 1.光子器件的逆向设计:通过机器学习,特别是深度学习,可以高效地进行光子器件的逆向设计,这在传统的多参数优化问题中尤为重要。…

Codeforces Round 1034 (Div. 3)

比赛链接如下:https://codeforces.com/contest/2123 A. Blackboard Game Initially, the integers from 00 to n−1 are written on a blackboard. In one round, Alice chooses an integer a on the blackboard and erases it;then Bob chooses an integer b on …

微电网系列之微电网的孤岛运行

个人主页:云纳星辰怀自在 座右铭:“所谓坚持,就是觉得还有希望!” 微电网的孤岛运行 微电网具有并网和孤岛两种运行模式,由于孤岛运行模式下,分布式电源为微电网内部负荷提供频率和电压支撑,由…

JsonCpp的核心类及核心函数使用汇总

文章目录 JsonCpp的核心类及核心函数使用汇总一、前言二、JsonCpp 核心类介绍三、Value 类函数解析1. 值获取函数(asxxx 系列 )2. 值类型判断函数(isxxx 系列 )3. 数组操作函数4. 对象操作函数5. 运算符重载6. 迭代器7. JSON 转化…

Qt写入excel

1.tableView导出到excel 点击导出函数按钮、发送sendMessage信号(信号名称,对象,数据) void HydroelectricPowerPluginImpl::exportTableViewSelectedRows(QTableView* tableView, QWidget* parent) {if (!tableView || !tableVie…

OSCP - Proving Grounds - DC - 1

主要知识点 drupal 7 RCEfind SUID提权 具体步骤 nmap起手,80端口比较有意思,安装了 Drupal 7 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-17 14:23 UTC Nmap scan report for 192.168.57.193 Host is up (0.00087s latency). Not shown: 65531 cl…

仿小红书交流社区(微服务架构)

文章目录 framework - 平台基础设施starter - jacksoncommonexceptionresponseutil starter - content 全局上下文distributed - id - generate - 分布式 IdSnowflake - 基于雪花算法生成 IdSegment - 基于分段式生成 Id OSS - 对象存储KV - 短文本存储笔记评论 user - 用户服务…

大模型开源技术解析 4.5 的系列开源技术解析:从模型矩阵到产业赋能的全栈突破

提示:本篇文章 1300 字,阅读时间:5分钟。 前言 6 月 30 日,百度正式开源文心大模型 4.5 系列,这一动作不仅兑现了 2 月发布会上的技术承诺,更以 10 款全维度模型矩阵刷新了国内开源模型的技术边界。从学术…

[6-02-01].第05节:配置文件 - YAML配置文件语法

SpringBoot学习大纲 一、YAML语法 1.1.概述: 1.YAML是一种数据序列化格式;2.它是以数据为中心3.容易阅读,容易与脚本语言交互,如下图所示: 1.2.基本语法 1.key: value:kv之间有空格2.使用缩进表示层级关系3.缩进时…

FPGA学习

一、module : 定义: 是构建数字系统的基本单元,用于封装电路的结构和行为。它可以表示从简单的逻辑门到复杂的处理器等任何硬件组件。 1. module 的基本定义 module 模块名 (端口列表);// 端口声明input [位宽] 输入端口1;output [位宽] 输出端口1;ino…

26-计组-存储器与Cache机制

一、存储器与局部性原理 1. 局部性原理 基础概念: 时间局部性:一个存储单元被访问后,短时间内可能再次被访问(例如循环变量)。空间局部性:一个存储单元被访问后,其附近单元可能在短时间内被访…

I/O 线程 7.3

前言 以下: 概述 1.基础 2.代码演示 3.练习 4.分析题 1.基础 一、线程基础概念 并发执行原理 通过时间片轮转实现多任务"并行"效果 实际为CPU快速切换执行不同线程 线程 vs 进程 线程共享进程地址空间,切换开销更小 进程拥有独立资源&am…

MySQL JSON数据类型完全指南:从版本演进到企业实践的深度对话

📊 MySQL JSON数据类型完全指南:从版本演进到企业实践的深度对话 在当今数据驱动的时代,MySQL作为最受欢迎的关系型数据库之一,不断演进以满足现代应用的需求。JSON数据类型的引入,让MySQL在保持关系型数据库优势的同时…

BI × 餐饮行业 | 以数据应用重塑全链路业务增长路径

在竞争激烈的餐饮行业中,数据已成为企业保持竞争力的关键资产。通过深入分析顾客数据,餐饮企业能够洞察消费者的需求和偏好,从而提供更加精准和个性化的服务。此外,利用数据优化业务管理,降低成本,并提高运…

【学习线路】机器学习线路概述与内容关键点说明

文章目录 零、机器学习的企业价值一、基础概念1. 机器学习定义2. 学习类型3. 学习范式 二、核心算法与技术1. 监督学习2. 无监督学习3. 模型评估与优化 三、深度学习与神经网络1. 神经网络基础2. 深度学习框架3. 应用场景 四、工具与实践1. 数据处理2. 模型部署3. 机器学习的生…

Linux 命令:cp

Linux cp 命令详细教程 cp 是 Linux 系统中最常用的命令之一,用于复制文件或目录。它可以将源文件/目录复制到指定的目标位置,支持批量复制、强制覆盖、保留文件属性等功能。下面详细介绍其用法。资料已经分类整理好:https://pan.quark.cn/s…

java分页插件| MyBatis-Plus分页 vs PageHelper分页:全面对比与最佳实践

MyBatis-Plus分页 vs PageHelper分页:全面对比与最佳实践 一、分页技术概述 在Java持久层框架中,分页是高频使用的功能。主流方案有: MyBatis-Plus分页:MyBatis增强工具的内置分页方案PageHelper分页:独立的MyBatis…

PROFINET转MODBUS TCP网关在机械臂通信操作中的应用研究

在特定的汽车零部件生产工厂焊接生产线上,机械臂被应用于焊接作业,其控制体系基于Profinet协议。同时,工厂的自动化控制体系以西门子S7-1200PLC为核心,通过ModbusTCP协议实现数据交换。为实现焊接过程的自动化控制以及生产数据的实…

Mac中如何Chrome禁用更新[update chflags macos]

写在前面 在 macOS 系统中,系统更新提示的小红点常常让人不胜其扰。 尤其是当你希望保持现有系统的稳定性,或因兼容性问题暂不想升级时,这个小红点就像一个顽固的提醒。 - windowsMac版直接删除更新程序, 有效 cd ~/Library/Google/Googl…