面向对象的三大特性:继承封装,多态
从一定角度来看,封装和继承几乎都是为多态准备的
定义
指的是不同对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。

多态要有动态绑定,否则就不是多态,方法重载也不是多态(因为方法重载是编译期决定好的,没有后期也就是运行期的动态绑定)

当满足这三个条件 1.有继承 2. 有重写 3. 要有父类引用指向子类对象

作用
消除类型之间的耦合关系
多态的好处
1)可替换性
2)可扩充性
3)接口性
4)灵活性
Java中多态的分类
分为方法的多态和类的多态
1)person为父类,student为子类,那么pesron p = new student();
2)fliable为接口,bird为实现接口的类,那么:fliable f=new bird();
3)fliable为抽象类,bird为继承fliable的类,那么:fliablef=new bird();
声明了person p=new student();我想将p转为student的可不可以?当然可以,但是就得强制转换了(儿子想成为父亲直接来,父亲想成为儿子你就强来)

class A{public String show(D obj)...{return ("A and D");}public String show(A obj)...{return ("A and A");}}class B extends A{public String show(B obj)...{return ("B and B");}public String show(A obj)...{return ("B and A");}}class C extends B{}class D extends B{}class E{public static void main(String [] args){A a1 = new A();A a2 = new B();B b = new B();C c = new C();D d = new D();System.out.println(a1.show(b));   //①System.out.println(a1.show(c));   //②System.out.println(a1.show(d));   //③System.out.println(a2.show(b));   //④System.out.println(a2.show(c));   //⑤System.out.println(a2.show(d));  // ⑥System.out.println(b.show(b));    //⑦System.out.println(b.show(c));    //⑧System.out.println(b.show(d));    //⑨   }}(三)答案①   A and A②   A and A③   A and D④   B and A⑤   B and A⑥   A and D⑦   B and B⑧   B and B⑨   A and D

Java多态(面试考点,不要因为基础而忽视)相关推荐

  1. java常见面试考点(二十五):CAS是什么

    java常见面试考点 往期文章推荐:   java常见面试考点(二十):Elasticsearch 和 solr 的区别   java常见面试考点(二十一):单点登录   java常见面试考点(二十二 ...

  2. java常见面试考点(十一):git与svn区别

    java常见面试考点 往期文章推荐:   java常见面试考点(六):深入理解String类型   java常见面试考点(七):递归与迭代   java常见面试考点(八):成员变量与局部变量   ja ...

  3. 【JVM系列】一步步解析java执行内幕,java初级面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索hairyang001加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各 ...

  4. java 多态判断非空_Java 面试知识点解析基础知识

    文本公众号来源: 我没有三颗心脏作者: 我没有三颗心脏 (一)Java 基础知识点 1)面向对象的特性有哪些? 答:封装.继承和多态(应要多算一个那就是抽象) 封装是指将对象的实现细节隐藏起来,然后通 ...

  5. Java开发面试高频考点学习笔记(每日更新)

    Java开发面试高频考点学习笔记(每日更新) 1.深拷贝和浅拷贝 2.接口和抽象类的区别 3.java的内存是怎么分配的 4.java中的泛型是什么?类型擦除是什么? 5.Java中的反射是什么 6. ...

  6. java中override快捷键_【基础回溯1】面试又被 Java 基础难住了?推荐你看看这篇文章。...

    本文已经收录自 https://github.com/Snailclimb/JavaGuide  (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. ...

  7. Java 面试知识点解析(一)——基础知识篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  8. BTA 常问的 Java基础40道常见面试题及详细答案,java初级面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  9. java面试题——java基础(四),java初级面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

最新文章

  1. linux目录为root所有文件,linux获取文件所有目录/文件夹的例子linux操作系统 -电脑资料...
  2. CMU提出「十字绣网络」,自动决定多任务学习的最佳共享层
  3. Oracle中case when用法
  4. wampserver的mysql启动与环境变量设置
  5. 查看linux内存优化,Linux性能优化和监控系列(三) 分析Memory使用状况
  6. Zabbix 通过 API 监控 k8s | 技巧
  7. mysql 容灾 灾备 备份
  8. java最小泛型demo
  9. php分页代码简单实现
  10. android mmkv使用_锦囊篇|一文摸懂SharedPreferences和MMKV(一)
  11. Linux mysql 允许远程连接
  12. 狂雨小说(KYXS)CMS 代码审计
  13. 身份证前6位数据/行政区划分代码
  14. 清北学堂济南刷题班day1
  15. 解决Android弹出Dialog小米手机需要打开“后台弹出界面”的权限问题
  16. oppo小布机器人_OPPO小布助手2.0全新版本来袭,做你身边最聪明的AI语音助手
  17. Reinforcement Learning——Chapter 2 Multi-armed Bandits
  18. 记一次muse-ui 使用
  19. Svn中的tag标签的用法和意义
  20. LeetCode刷题笔记2——数组2

热门文章

  1. 详解keras中的Mask机制
  2. 计算机科学与导论论文样例,计算机科学导论论文684413422
  3. 【arXiv2022】GroupTransNet: Group Transformer Network for RGB-D Salient Object Detection
  4. 游戏开发与实现南梦宫笔记
  5. 万代南梦宫(中国)旗下数字娱乐、玩具娱乐业务整合;IBM简化混合云上关键任务应用的现代化进程 | 全球TMT...
  6. 个人头像-----资源
  7. 【大数据】《红楼梦》作者分析(QDU)
  8. win10重装系统后连不上公司服务器,Win10电脑重装系统后不能上网怎么办?
  9. input苹果6点击事件无效
  10. JavaFXでJava RIA開発はどれくらい変わるの?