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

java--多态

1.什么是多态

多态是在继承/实现的情况下的一种现象,表现为:对象多态、行为多态。

2.多态的具体代码体现

编译看左边,运行看右边

3.多态的前提

有继承/实现关系;存在父类引用子类对象;存在方法重写

4.多态的一个注意事项

多态是对象、行为的多态,java中的属性(成员变量)不谈多态

5.使用多态的好处

①在多态形式下,右边对象是解耦合的,更便于扩展和维护。

②定义方法时,使用父类类型的形参,可以接收一切子类对象,扩展性更强,更便利。

6.多态下会产生的一个问题,怎么解决?

①多态下不能使用子类的独有功能。

7.类型转换

①自动类型转换:父类 变量名 = new 子类();

②强制类型转换:子类 变量名 = (子类)父类变量

8.强制类型转换的一个注意事项

①存在继承/实现关系就可以在编译阶段进行强制类型转换,编译阶段不会报错。

②运行时,如果发现对象的真实类型与强制后的类型不同,就会报类型转换异常(ClassCastException)的错误出来。

9.强转前,java建议

使用instanceof关键字,判断当前对象的真实类型,再进行强转。

http://www.lryc.cn/news/248857.html

相关文章:

  • 知识图谱06——将pdf中的表格(文字形式)保存至csv中
  • 一文教你使用Swagger---适合新手小白(结合实战)
  • VC++调试QT源码
  • 058-第三代软件开发-文件Model
  • 【领域驱动设计 学习目标及大纲】从CRUD到架构设计
  • asla四大开源组件应用示例(alsa-lib、alsa-utils、alsa-tools、alsa-plugins)
  • 文档理解的新时代:LayOutLM模型的全方位解读
  • 【二叉树】Leetcode 637. 二叉树的层平均值
  • 设计模式-15-Jdk源码中的设计模式
  • Vue框架学习笔记——事件scroll和wheel的区别
  • 【LeetCode】每日一题 2023_11_29 无限集中的最小数字(哈希/堆)
  • C/C++ 常用的四种查找算法
  • Linux | Ubuntu设置 netstat(网络状态)
  • 成为AI产品经理——模型构建流程(下)
  • TCP Socket API 讲解,以及回显服务器客户端的实现
  • 2023年掌控安全学院CTF暖冬杯——数据流分析
  • UE4 基础篇十四:自定义插件
  • QT QGraphicsItem 图元覆盖导致鼠标点击事件不能传递到被覆盖图元
  • proto语法学习笔记
  • python-nmap库使用教程(Nmap网络扫描器的Python接口)(功能:主机发现、端口扫描、操作系统识别等)
  • 什么是智慧工地?
  • 【古月居《ros入门21讲》学习笔记】08_发布者Publisher的编程实现
  • 沿着马可·波罗的足迹,看数字云南
  • 记录问题-使用@Validated报错Validation failed for argument [0]
  • three.js--立方体
  • App的测试,和传统软件测试有哪些区别?应该增加哪些方面的测试用例?
  • 改进LiteOS中物理内存分配算法(详细实验步骤+相关源码解读)
  • 洛谷100题DAY8
  • 2. OpenHarmony源码下载
  • flask app.config 用法