Cym02 2021-11-22 15:52 采纳率: 100%
浏览 35
已结题

Java中多态的虚拟方法调用,具体有什么作用呢

网上查资料,只了解代码解耦合。
但是不知道调用虚拟方法,在实际生产环境中,具体可以做什么呢。
求帮助

  • 写回答

4条回答 默认 最新

  • 冰思雨 2021-11-22 18:23
    关注

    虚方法,是底层实现上的概念,不是多态在编程当中的概念,这是两码事儿。
    你的问题应该是:Java的多态,具体有什么作用。
    这样容易被人理解你要问的问题。


    计算机程序由两大部分组成,分别是行为和数据。
    行为就是通过函数的调用来体现的,数据是通过常量、变量和参数来体现的。
    通常情况下,函数的名称会标明函数的行为,但是,在多态的场景中,会出现相同函数名,不同对象调用后,真实行为会不同。
    比如猫叫和狗叫,虽然都是叫,但是叫声不同。
    如果猫和狗都继承自动物,都会叫,那么,猫的叫和狗的叫就会不相同。


    Java语言是面向对象的编程语言,里面有类和对象的概念。
    因为计算机程序可以理解成由行为和数据组成,那么,在设计类的时候,也可以把类设计成完成操作(行为)的类和保存数据的类。
    完成操作的类,我们一般称为Action类;保存数据的类,我们一般称为Bean类。
    多态的概念,涉及的是Action类。
    如果有两个以上的子类继承并实现了相同父类(或接口)的相同方法,同时,这些子类的同名方法中,实现方案也各不相同,那么,在实际使用当中的表现,就被称为多态。在编程使用当中,由于同名方法继承自父类(或接口),就可以直接使用父类(或接口)的引用来指向子类的对象,而不用使用具体的子类引用,换句话说就是面向父类(或接口)编程,从而使得同名的函数,不同的子类表现同不相同。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 创建了问题 11月22日

悬赏问题

  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入