什么是多态 java中如何实现多态

来源:互联网 时间:2025-10-31 14:53:47 浏览量:1

多态分为编译时多态和运行时多态。

1.编译时多态,其实就是方法重载,相同函数名,但签名不相同。值得注意的是签名不包括方法返回值,换句话说,两个方法,函数名和入参都相同,但返回值不同,编译器回报错的。

2.运行时多态,其实就和继承和接口实现相关了,子类可以覆盖父类的非final,非static,非private方法或者实现接口方法。运行时,动态绑定实例到父类或接口的引用,那jvm是怎么知道调用哪个子类的实例的对应方法的呢?这就是你问的问题了——Java中对象在jvm内部都有描述元数据,对象头,对象头中存储了当前实例的类型信息,调用时jvm就根据这个type能精确找到具体是点用哪个子类的方法了。

父类指针指向子类对象,就是多态了。

比如A是父类,B和C都是继承于A

B b = new B();

那A a = b;

就是多态了。

Copyright © 转乾企业管理-商务网 版权所有 | 黔ICP备2023009682号

免责声明:本站内容仅用于学习参考,信息和图片素材来源于互联网,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:303555158#QQ.COM (把#换成@)