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

多态的体现

多态:当不同的对象去完成某个行为时会产生出不同的状态

多态体现:

在代码运行时,当传递不同类对象时,会调用对应类中的方法。

public class Animal {String name;int age;public Animal(String name, int age){this.name = name;this.age = age;}public void eat(){System.out.println(name + "吃饭");}
}public class Cat extends Animal{public Cat(String name, int age){super(name, age);}@Overridepublic void eat(){System.out.println(name+"吃鱼~~~");}
}public class Dog extends Animal {public Dog(String name, int age){super(name, age);}@Overridepublic void eat(){System.out.println(name+"吃骨头~~~");}
}public class TestAnimal {public static void eat(Animal a){a.eat();}public static void main(String[] args) {Cat cat = new Cat("元宝",2);Dog dog = new Dog("小七", 1);eat(cat);eat(dog);}
}

在这里插入图片描述
在这里插入图片描述

虽然方法的参数类型是Animal,但实际调用的却是子类的eat方法,这正是多态的体现
在这里插入图片描述


http://www.mrgr.cn/news/60626.html

相关文章:

  • 一对一直播源码运营中CPS推广功能操作流程
  • Vue3-创建实例
  • 十一、数据库配置
  • PostgreSQL-06-入门篇-集合运算
  • 哈希表之哈希数组、HashSet
  • Modbus TCP报错:Response length is only 0 bytes
  • 三维测量与建模笔记 - 2.1 坐标转换基础
  • redis学习路线和内容
  • 亿赛通与Ping32:数据安全领域的两大巨擘对比
  • 二十四、Python基础语法(变量进阶)
  • 计算机网络803-(5)运输层
  • 常见大气校正模型及6S模型安装部署【20241028】
  • 仓颉编程语言一
  • 011:软件卸载工具TotalUninstall安装教程
  • 重写(外壳不变)
  • CSS3新增长度单位
  • Python自动化测试中的Mock与单元测试实战
  • 基于vue、VantUI、django的程序设计
  • 【HeadFirst 设计模式】设计模式总结与C++案例
  • 外包干了30天,技术明显退步
  • 内网穿透之网络层ICMP隧道
  • 基于SSM的宠物猫狗商业系统设计与实现
  • Chrome异步编程
  • 关于群辉920+更新升级系统后SSD固态存储不受当前DSM版本支持的解决方法
  • python实战(四)——RAG预热实践
  • ssm智慧社区电子商务系统+vue