什么是Java的多态特性?

Java的多态指的是父类的引用指向子类的对象,使得在调用同一个方法时,会执行子类自己的实现

通常来说,多态有3个必要条件。

1.要有继承关系,比如子类继承父类,或者实现关系,比如类实现接口;

2.子类需要重写父类的方法;

3.父类的引用指向子类的对象,换句话说就是把子类类型的对象赋值给父类类型的引用变量,也就是向上转型

在面试的时候,有些面试官可能会问你多态的作用,多态的作用就两个:

一个是解耦,也就是调用方只依赖父类或者接口,并不会依赖它的具体实现。

另一个是可拓展,就是说可以在完全不修改原有代码的情况下新增一个子类。

多态性的实现方式

在面向对象的编程中,多态性有编译时多态运行时多态两种实现方式。

编译时多态也称作静态多态 ,通过方法重载来实现,Java编译器会在编译时根据方法调用时传入的参数类型和数量来决定具体调用哪一个重载方法。

运行时多态也称作动态多态 ,通过方法重写来实现,当父类的引用调用方法时,在运行时会根据对象的实际类型来决定实际执行的子类重写之后的方法。

其中,

方法重载 指的是同一个类的多个方法,它们的名称相同但是参数列表不同。

方法重写 指的是子类 重写了父类的一个或者多个方法。

相关推荐
Brilliantwxx8 分钟前
【C语言】 初入嵌入式C语言复习(基础+进阶面试题)
c语言·开发语言
熊野君30 分钟前
附录与 Codex 实操手册
开发语言·人工智能·产品经理
wuminyu32 分钟前
深入剖析 Panama Off-heap 的性能损耗与开销
java·linux·c语言·jvm·c++
pnoker41 分钟前
IoT DC3 AI 能力:Agentic Center 的设计与边界
java·人工智能·物联网·大模型·spring ai
xiaoqiMikko1 小时前
一条 CVSS 9.0 的 RCE,advisory 里没写修复版是哪个 —— fastjson 16723 的字段考古
java·安全
程序员贺加贝1 小时前
一次 SaaS ERP 主数据生命周期设计:Policy、PreCheck 与结构化阻断原因
java·后端·架构·saas
XZ-0700011 小时前
week2-1-可视化
开发语言·python
catino2 小时前
spring-Bean
java·后端·spring
Java后端的Ai之路2 小时前
14、Python - 责任链模式
服务器·开发语言·人工智能·python·责任链模式
深入云栈2 小时前
Netty 4.2.x 源码深度解析 (十一):EventExecutor 业务线程池 —— 防止 IO 线程阻塞的并发模型
java·后端