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

[Java 基础]面向对象-多态

多态是指同一个行为在不同对象上具有不同的表现形式。

比如:叫是一个方法,对于不同的动物,叫声是不一样的,但是基本所有的动物都会叫。

要实现多态的效果,需要:

  • 继承
  • 重写
  • 父类引用指向子类对象:Parent p = new Child(),这个是 “向上转型”

下面是代码例子:

class Animal {void makeSound() {System.out.println("动物发出声音");}
}class Dog extends Animal {void makeSound() {System.out.println("狗:汪汪!");}
}class Cat extends Animal {void makeSound() {System.out.println("猫:喵喵!");}
}spublic class TestPolymorphism {public static void main(String[] args) {Animal a1 = new Dog(); // 向上转型Animal a2 = new Cat();a1.makeSound(); // 输出:狗:汪汪!a2.makeSound(); // 输出:猫:喵喵!}
}

:::danger
虽然变量类型是 Animal,但运行时会根据实际对象类型(Dog 或 Cat)调用正确的方法,这就是动态绑定。

:::

合理的使用多态,能增强代码的可扩展性强,新增子类时,原有代码几乎不需要改动。

http://www.dtcms.com/a/231482.html

相关文章:

  • C语言到底使用什么编码
  • git删除本地分支和远程分支
  • 【力扣】3403. 从盒子中找出字典序最大的字符串 I
  • 2025年6月4日收获
  • 佳易王钟表手表维修养护管理系统:高效便捷的维修管理解决方案
  • NX948NX951美光固态芯片NX956NX960
  • 《江西棒垒球》败方mvp叫什么·棒球1号位
  • Python数据可视化科技图表绘制系列教程(二)
  • 高防IP可以防护什么攻击类型?企业网络安全的第一道防线
  • zookeeper 学习
  • 尝试使用gocryptfs实现大模型加密部署
  • 如何利用乐维网管进行IP管理
  • Python中的`with`语句用法
  • 如何选择合适的分库分表策略
  • MQTT协议:物联网时代的通信基石
  • 《manacher》题集
  • LLM之RAG实战(五十四)| 复杂文档处理RAG框架:Ragflow
  • 列出浏览器所有的启动参数,并解释说明每个参数的含义
  • 多线程与fork使用
  • Unity 大型手游碰撞性能优化指南
  • Nginx 文件目录结构总览
  • 在WordPress上添加隐私政策页面
  • 三、OpenCV图像处理 - 图像特征提取与描述
  • 媒体报道:聚焦国产工业软件破局之道
  • PaddleOCR(1):PaddleOCR介绍
  • 【Bluedroid】蓝牙启动之gatt_init 流程源码解析
  • 质检 LIMS 系统数据防护指南 三级等保认证与金融级加密方案设计
  • CS保研面试问题
  • Edge Databases:赋能分布式计算环境
  • 【Code】Python金融基础