1.因为多态,不需要为每一个类型定义方法

package com;class Animal {public void eat(){System.out.println("Animal eat");};
}class Cat extends Animal {public void eat() {System.out.println("Cat eat");}
}
class Dog extends Animal {public void eat() {System.out.println("Dog eat");}
}public class App2 {public static void showCatEat (Cat c){c.eat();}public static void showDogEat (Dog d){d.eat();}public static void showAnimalEat (Animal a){a.eat();}public static void main(String[] args) {Cat c = new Cat();Dog d = new Dog();showCatEat(c);showDogEat(d);//用多态的方式,参数是Animal,会自动将Cat和Dog转换为Animal,而Animal调用时,因为多态执行的又是Cat和Dog的eat//这样就不需要定义多种参数类型的方法了showAnimalEat(c);showAnimalEat(d);}}

2.因为多态,可以将多个类型保存到列表中

package com;import java.util.LinkedList;
import java.util.List;public class App2 {public static void main(String[] args) {List<Object> list = new LinkedList<>();list.add("123");System.out.println(list.get(0).toString()); //123System.out.println(new Object().toString()); //java.lang.Object@29453f44}
}

当我们将String填入到列表时,自动转型为Object,调用toString方法,因为多态调用的还是StringtoString

java 多态 优势相关推荐

  1. Java 多态-杂谈

    问题1:Java 实现(Implementation) 也是子类和父类的关系吗?可以父类指向子类实例吗? 问题2:Java 继承(extends) 是子类和父类的关系吗 可以父类指向子类实例吗? 多态 ...

  2. 云原生时代,Java还有优势么?

    1.最近,很多后端工程师都在讨论,Rust.Go和Java这三门语言的对比.虽然我们经常拿PHP是世界上最好的语言来开玩笑.但具体到工作里,确实语言的选择非常重要,这一定程度上会直接决定一个工程师薪资 ...

  3. java多态 降低代码耦合性_深度分析:理解Java中的多态机制,一篇直接帮你掌握!...

    Java中的多态 1 多态是什么 多态(Polymorphism)按字面的意思就是"多种状态".在面向对象语言中,接口的多种不同的实现方式即为多态.用白话来说,就是多个对象调用同一 ...

  4. Java多态-如何理解父类引用指向子类对象

    java多态,如何理解父类引用指向子类对象 要理解多态性,首先要知道什么是"向上转型". 我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类.我可以通过   C ...

  5. 笔记1——C++多态与Java多态的异同

    最近参加网易笔试遇到一个问题,考察了C++ 多态特性,自己查了相关资料学习了相关用法. 一般程序调用的函数地址是在编译期决定了,但是具有多态特性的函数调用地址是在程序运行期才决定. C++与Java多 ...

  6. 关于java多态中覆盖的理解

    在前面一篇文章中,我已经介绍了关于java多态中重载的理解与规则 所以这篇文章主要介绍多态中的覆盖机制. 首先重载与覆盖除了表现方式不同之外,还有运行时间上的不同,重载是在编译期间就已经可以确定好调用 ...

  7. 什么是Java多态?如何实现Java多态?

    java多态这个概念在同学们深入学习java的时候就会被提出,很多同学并不知道是什么意思,如何实现.今天小千就来给大家介绍一下什么是java多态和java如何实现多态. 什么是多态? 指允许不同类的对 ...

  8. Java学习笔记二十六:Java多态中的引用类型转换

    Java多态中的引用类型转换 引用类型转换: 1.向上类型转换(隐式/自动类型转换),是小类型到大类型的转换: 2.向下类型转换(强制类型转换),是大类型到小类型的转换: 3.instanceof运算 ...

  9. Java 多态、抽象类 笔记

    1. Java 多态 多态就是同一个接口,使用不同的实例而执行不同操作. 1.1 多态存在的三个必要条件 继承 重写 父类引用指向子类对象(Parent p = new Child();) 当使用多态 ...

最新文章

  1. [错误]xstring(525) : warning C4530:
  2. 使用 Angular 打造微前端架构的 ToB 企业级应用
  3. golang odbc mysql_golang使用odbc链接hive
  4. bim推荐计算机配置,BIM建模推荐电脑配置清单 适合Revit软件的BIM建模电脑主机配置(2)...
  5. python bytes()函数
  6. python处理pdf提取指定数据_python从PDF中提取数据的示例
  7. 【密码学】CSP的概念
  8. LazyInitializationException--由于session关闭引发的异常
  9. Excel和Word 简易工具类,JEasyPoi 2.1.5 版本发布
  10. JAVA设计模式-委派模式(Delegate)
  11. TensorFlow中数据读取—如何载入样本
  12. 500并发相当于多少人_linux开发技术之线程池accept处理高并发connect(含源码)
  13. 【NLP】NLP中各种各样的编码器
  14. word字间距异常处理方式
  15. tcping与ping的区别
  16. 如何下载所有Instagram照片
  17. 帝国霸业服务器无限加载,帝国霸业银河生存1.0正式版开局生存流程指南
  18. 史上最污的技术解读,我竟然秒懂了(上)
  19. gfortran版本
  20. C++ hdoj 2075 A|B

热门文章

  1. 十堰市人民小学一年级在计算机学校,我上一年级啦!
  2. usb连接不上 艾德克斯电源_硬核充电宝?360汽车应急电源入手体验
  3. 从零开始学前端:上节课案例+break,continue以及while和do while --- 今天你学习了吗?(JS:Day5)
  4. 学python电脑要装什么_初学 Python 需要安装哪些软件?
  5. 微课|中学生可以这样学Python(例11.4):tkinter版图片查看器
  6. 微课|中学生可以这样学Python(5.6.1节):列表推导式1
  7. 技术要点|Python监控学生端电脑屏幕自动识别学习状态
  8. Python裸奔也疯狂:批量爬取中国工程院院士信息
  9. 视频服务器读取hdfs文件,基于HDFS的流媒体服务器Red5视频文件分发的研究与应用...
  10. 服务里4个oracle,ORACLE RAC安装问题解决记录(4)- 一个隐藏的Windows服务(OraFenceService)...