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

Java的多态

多态是面向对象编程的三大特性之一(封装、继承、多态),指同一行为具有多种不同表现形式。在Java中,多态允许父类引用指向子类对象,并通过重写(Override)实现不同子类的差异化行为。

Java多态的实现方式

  1. 方法重写(Override)
    子类继承父类后,可以重写父类的方法。调用时根据实际对象类型决定执行哪个方法。

    class Animal { void sound() { System.out.println("Animal makes sound"); } } class Dog extends Animal { @Override void sound() { System.out.println("Dog barks"); } } public class Main { public static void main(String[] args) { Animal myDog = new Dog(); myDog.sound(); } }
  2. 接口多态
    接口定义方法规范,不同实现类提供具体实现。通过接口引用调用方法时,实际执行的是实现类的逻辑。

    interface Shape { void draw(); } class Circle implements Shape { @Override public void draw() { System.out.println("Drawing a circle"); } } public class Main { public static void main(String[] args) { Shape shape = new Circle(); shape.draw(); } }
  3. 方法重载(Overload)
    同一类中方法名相同但参数列表不同,编译时根据参数类型决定调用哪个方法。

    class Calculator { int add(int a, int b) { return a + b; } double add(double a, double b) { return a + b; } } public class Main { public static void main(String[] args) { Calculator calc = new Calculator(); System.out.println(calc.add(1, 2)); System.out.println(calc.add(1.5, 2.5)); } }

多态的应用场景

  • 代码扩展性:新增子类无需修改父类逻辑。
  • 解耦:通过接口或父类引用调用方法,降低模块依赖性。
  • 统一处理:例如集合中存储不同子类对象,通过循环调用同一方法。

注意事项

  • 编译时与运行时类型:编译时检查父类/接口是否有方法定义,运行时执行子类方法。
  • 无法调用子类特有方法:父类引用需强制转型为子类类型后才能调用子类扩展的方法。
  • final方法不可重写:标记为final的方法无法被子类修改。
http://www.gsyq.cn/news/1603464.html

相关文章:

  • C#:pdb
  • 如何用 Codex 做财务复盘和情景规划
  • 【Web基础】HTTPS详解
  • 企业级 AI 工具选购指南:ChatGPT Team vs Claude Team vs Gemini Business
  • 如何用novel-downloader拯救你随时可能消失的小说收藏
  • MoE混合专家模型原理与工业级部署实战
  • ESP32S3 AP+MQTT Broker
  • 数据价值归谁:一套让消费者、商家、政府都受益的产业操作系统
  • 深入解析PCIe热插拔:基于XIO3130的硬件设计与调试实践
  • macOS下IntelliJ IDEA激活新思路:ja-netfilter插件配置全解析
  • web安全代码基础-PHP(身份验证技术)
  • 简单理解:电角度 = 机械角度 × 极对数
  • 百考通的语义级重构技术智能降重
  • 终极语音处理方案:让AI重塑您的音频体验
  • LinkLifeVerse OS:让数据价值留在县域
  • 26届计算机普通双非硕秋春招,究竟有多难!
  • 5款AI率平台亲测推荐
  • 别浪费钱了!2026实测靠谱的一键生成论文工具|避坑精选版
  • 基于HarmonyOS 7.0 跨端开发的节能小贴士挑战页面实战
  • Ant Design 6.5.0 发布:新增设计语言文件、优化包体积,多组件功能升级!
  • 如何快速掌握GHelper:华硕ROG笔记本性能优化终极指南
  • 从失败到成功:记录第11次ChatGPT Plus付费全过程——含OpenAI客服英文申诉模板+时效性凭证截图
  • 萍乡除甲醛划算吗,效果比通风好吗
  • cci-job-client集成指南:如何与CI/CD流水线无缝对接
  • 如何在Windows、macOS和Linux上快速安装SMAPI:星露谷物语模组加载器完整指南
  • 有源码交付能力的连锁收银软件深度横评
  • 从零学 AI 工程:503 课时的开源课程,3.6 万人 Star
  • 基于YOLO26中医舌象检测系统1:中医舌象检测数据集说明(含下载链接)
  • API密钥管理全攻略:从环境变量到云服务的安全实践
  • 想找靠谱的玻璃花瓶定制供应商?这几个筛选技巧建议提前收藏