java 中实现多态的机制是什么?

靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法
在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的
那个对象的方法,而不是引用变量的类型中定义的方法。

多态就是指一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。

因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。

扩展资料:

特点:

指向子类的父类引用由于向上转型了,它只能访问父类中拥有的方法和属性,而对于子类中存在而父类中不存在的方法,该引用是不能使用的,尽管是重载该方法。

若子类重写了父类中的某些方法,在调用该些方法的时候,必定是使用子类中定义的这些方法(动态连接、动态调用)。

参考资料来源:百度百科-多态

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-04
java中实现多态的机制是依靠父类或接口的引用指向子类。从而实现了一个对象多种形态的特性。其中父类的引用是在程序运行时动态的指向具体的实例,调用该引用的方法时,不是根据引用变量的类型中定义的方法来运行,而是根据具体的实例的方法。
第2个回答  2013-03-17
这个东西说呢,不是很明白。你去看看向上和向下转型吧。。。这东西还是看教材比较好,口述的虽然通俗,但是不精确以后会留下问题的~~~~
第3个回答  2013-03-17
C++的话是把类的虚方法的地址放在一个虚函数表(vtbl)中,它是一个数组,它存储了该类的所有虚拟方法的地址。这个数组的首元素地址被封装在类中,作为类的一个隐含成员。
java的实现方法应该和这个差不多,但是java没有“地址”、“指针”的概念,所以你可以会有点难以理解,但这就是它的机制。
第4个回答  2013-03-18
父类之类之间的多态方式 : 方法的重写 覆盖父类的方法 是动态绑定的 在运行时确定调用的是哪个方法 。
类内的多态方式:方法的重载 。本回答被网友采纳

java 中实现多态的机制是什么?
多态就是指一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就...

java中的多态怎么理解
Java中的多态实现主要依靠两个机制:继承和接口。在继承中,子类可以继承父类的属性和方法,也可以重写父类的方法来实现自己的特定行为。当父类的引用指向子类的对象时,可以通过父类的引用调用子类重写的方法,实现多态。在接口中,类可以实现接口中定义的方法,这样可以实现不同的类拥有相同的行为,也可...

java 多态怎么回事,如何实现?
多态性:发送消息给某个对象,让该对象自行决定响应何种行为。通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。java 的这种机制遵循一个原则:当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,...

什么是多态?实现多态的机制是什么?
可能是你爸爸,可能是你们家的其他人代表你爸参加。这就是多态。多态又分为 编译时多态和运行时多态。编译时多态:比如重载 运行时多态:比如重写 简单版本:原理也很简单,父类或者接口定义的引用变量可以指向子类或者具体实现类的实例对象,由于程序调用方法是在运行期才动态绑定的,那么引用变量所指向的...

谈谈你对Java中的多态的理解.(为什么要使用多态,有什么好处,一般用在...
在Java中有两种形式可以实现多态。继承和接口。 2.2.1、基于继承实现的多态 基于继承的实现机制主要表现在父类和继承该父类的一个或多个子类对某些方法的重写,多个子类对同一方法的重写可以表现出不同的行为。 public class Wine { private String name; public String getName() { return name; } public...

Java运行时多态性的实现
运行时多态性是面向对象程序设计代码重用的一个最强大机制 动态性的概念也可以被说成 一个接口 多个方法 Java实现运行时多态性的基础是动态方法调度 它是一种在运行时而不是在编译期调用重载方法的机制 下面就继承和接口实现两方面谈谈java运行时多态性的实现 一 通过继承中超类对象引用变量引用子类对象来...

在java中什么是多态。。 什么时候用多态
Java是面向对象的语言,多态性是面向对象程序设计代码重用的一个最强大机制,动态性的概念也可以被说成“一个接口,多个方法”。Java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制, 1.可替换性。多态对已存在的代码具有可替换性。 2.可扩充性。多态对代码具有可扩充性。

java中什么是多态性?它具有什么优点
Java是面向对象的语言,多态性是面向对象程序设计代码重用的一个最强大机制,动态性的概念也可以被说成“一个接口,多个方法”。Java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制,主要体现在继承和接口实现两方面,详见例子:继承实现多态例如:class A{ met...

怎么理解JAVA中的多态性
二、Java多态性实现机制 SUN目前的JVM实现机制,类实例的引用就是指向一个句柄(handle)的指针,这个句柄是一对指针:一个指针指向一张表格,实际上这个表格也有两个指针(一个指针指向一个包含了对象的方法表,另外一个指向类对象,表明该对象所属的类型);另一个指针指向一块从java堆中为分配出来...

多态性是什么意思?
多态性的实现主要依靠两个机制:继承和接口。在继承中,子类可以重写父类的方法以实现多态性,子类的对象可以作为父类的对象来使用。在接口中,不同的类实现了相同的接口,就可以对相同的消息做出不同的响应,从而实现多态性。这两种机制都可以实现多态性,具体实现取决于程序的需求和设计。多态性的应用...

相似回答