多态的含义

目录

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类并重写了它里面的方法,最后通过调用这个方法来实现了不同的效果,这就是多态。

相关推荐
Halo_tjn11 分钟前
Java 基于分支和循环结构的专项实验
java·开发语言·计算机
洛_尘12 分钟前
Java EE进阶5:Spring IoC&DI
java·spring·java-ee
IT小哥哥呀14 分钟前
Spring Cloud Stream:一次编写,随处运行
java·spring cloud·微服务··后端开发
alwaysuzybaiyy18 分钟前
物联网控制|计算机控制-刘川来胡乃平版|第4章:过程通道与人机接口-4.4Human-Machine Interface|课堂笔记|
笔记·物联网·powerpoint
Kuo-Teng18 分钟前
LeetCode 141. Linked List Cycle
java·算法·leetcode·链表·职场和发展
洛_尘23 分钟前
数据结构--9:反射、枚举以及lambda表达式(了解即可)
java·开发语言·数据结构
瑞惯科技25 分钟前
物联网角度传感器与双轴倾角传感器厂家的市场分析及技术发展
其他
青衫码上行29 分钟前
【Java Web学习 | 第12篇】JavaScript(6)DOM
java·开发语言·前端·javascript·学习
TDengine (老段)34 分钟前
TDengine 字符串函数 POSITION 用户手册
android·java·大数据·数据库·物联网·时序数据库·tdengine
弘毅 失败的 mian34 分钟前
C++、Java 还是测试开发?
java·c++·经验分享·笔记·测试开发·技术方向·就业