【Java】多态

举报
翟文彪 发表于 2021/12/25 23:30:27 2021/12/25
【摘要】 多态概述: 同一个对象,在不同时刻表现出来的不同状态   举例:猫 我们可以说猫是猫:猫 cat = new 猫(); 我们也可以说猫是动物:动物 animal = new 猫(); 这里猫在不同的时刻表现出来了不同的形态,这就是多态   多...

多态概述:

同一个对象,在不同时刻表现出来的不同状态

 

举例:猫

我们可以说猫是猫:猫 cat = new 猫();

我们也可以说猫是动物:动物 animal = new 猫();

这里猫在不同的时刻表现出来了不同的形态,这就是多态

 

多态的前提和体现:

  • 有继承/实现关系

  • 有方法重写

  • 有父类引用指向子类对象

 

多态中成员访问的特点:

成员变量:编译看左边,执行看右边

成员方法:编译看左边,执行看右边

 

为什么成员变量和成员方法的访问不一样呢?

  • 因为成员方法有重写,而成员变量没有

 

多态的好处和弊端

  • 好处:提高了程序的扩展性

        具体体现:定义方法的时候,使用父亲型作为参数,将来在使用的时候,使用具体的子类型参与操作

  • 弊端:不能使用子类的特有功能

 

多态中的转型

向上转型

    从子到父

    父类引用指向子类对象

向下转型

    从父到子

    父类引用转为子类对象

    解决了多态的弊端——不能访问子类的特有功能

文章来源: blog.csdn.net,作者:翟文彪,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/zwb568/article/details/111994915

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。