多态的含义

目录

1、多态的定义

2、多态存在的三个必要条件

3、多态在Java中的表现形式


1、多态的定义

Java 多态(Polymorphism)是面向对象编程的一项核心概念,它允许对象以多种形式出现。

多态其实和继承息息相关,多态通常是指声明一个父类可以指向很多个不同的子类对象,而且每个子类表现出的形式不一样。例如:有以下这种继承关系:

// 声明父类类型 new子类对象,这个其实很好理解就像你声明Person类型但是new的是Student对象一样(Person person = new Student()),意思就是你new的这个学生就是个人。

java 复制代码
Cal cal = new Add(3,2);
cal = new Sub(3,2);
cal = new Mul(3,2);
cal = new Div(3,2);

如上面的代码,声明一个父类类型可以new很多个不同的子类对象,它们也都可以调用父类中的getResult()方法,这个方法可以在子类中重写,这样就可以通过调用这一个方法来实现多个功能了,这就是多态。

2、多态存在的三个必要条件

  1. 继承
  2. 重写
  3. 父类引用指向子类对象 Cal cal = new Add();

3、多态在Java中的表现形式

多态性在Java中有两个主要的表现形式:

  1. 编译时多态(也称为静态多态)
  2. 运行时多态(也称为动态多态)

编译时多态是通过方法重载(Method Overloading)实现的。这意味着在同一个类中可以定义多个方法,这些方法具有相同的名字但参数列表不同。编译器在编译时根据参数列表来决定调用哪个具体的方法。

编译时多态就是上面所说的多态。

借鉴的老师找的图,这个图可以很好的解释多态,父类Shape里面定义了一个draw()方法,然后Circle、Triangle、Square这三个类都继承了Shape类并重写了它里面的方法,最后通过调用这个方法来实现了不同的效果,这就是多态。

相关推荐
读研的武2 小时前
Golang学习笔记 入门篇
笔记·学习·golang
JustMove0n2 小时前
互联网大厂Java面试全流程问答及技术详解
java·jvm·redis·mybatis·dubbo·springboot·多线程
SimonKing2 小时前
5分钟学会!把代码从本地推送到 GitHub,就是这么简单
java·后端·程序员
玹外之音2 小时前
Spring AI 11 种文档切割策略全解析
java·spring·ai编程
自传丶2 小时前
【学习笔记】大模型应用开发系列(二)Embedding 模型
笔记·学习·embedding
Java练习两年半2 小时前
互联网大厂 Java 求职面试:技术栈与微服务深度解析
java·微服务·面试·技术栈
Seven972 小时前
类字节码:揭开Java虚拟机运行机制的神秘面纱
java
lang201509283 小时前
从零开始掌握 Logback:Java 日志框架的“Hello World”实战指南
java·单元测试·logback
lang201509283 小时前
Logback 过滤器深度指南:从“三值逻辑”到高性能拦截
java·网络·logback
左左右右左右摇晃3 小时前
Java 对象:创建方式与内存回收机制
java·笔记