开发环境
基于:IntelliJ IDEA
、Maven构建工具
、JDK1.8
、SpringBoot 2.3.4
、Spring4.3.28
编写。
官人如需使用 IDEA 请阅读教程:IntelliJ IDEA
官人如需使用 Maven 请阅读教程:Maven 构建工具的下载与安装
更多干货
请参考:《穿越 Java 之 语法基础篇》 系列文章
请参考:《穿越 Java 之 Web基础篇 》系列文章
请参考:《穿越 Java 之 开发必备框架篇 》 系列文章
请阅读:《穿越 Java 之 SpringBoot框架篇》系列文章
请阅读:《穿越 Java 之 SpringCloud微服务架构篇》 系列文章
定义
- 同一个事物在
不同时刻
表现出来的不同状态
。即(身份的转变)
前提
- 必须是有
继承关系
体现
- 往往有
方法
的重写
。子类对象 被 父类对象 所引用
多态时成员变量的特点
- 【数据】多态时,
编译看左边,运行看左边
多态时成员方法的特点
- 【行为】 多态时,
编译看左边,运行看右边
多态时静态变量的特点
- 【行为】 多态时,
编译看左边,运行看左边
多态时静态方法的特点
- 【行为】 多态时,
编译看左边,运行看左边
弊端
-
当我需要访问
子类
特有的行为
时,必须向下转型
-
强转格式: 子类类型 变量名= (子类类型)父类变量;
-
当两个类不具备继承关系时,不能使用强转,就发生变异错误。
-
即使两个类有继承关系,如果他引用的对象不是某个子类,运行时也会发生异常
【clalssCastException】
这是就需要instanceof
关键字配合 if来使用`
方法相关特点
- 1.当父类型作为方法参数时:
调用时可以传递父类类型的对象
或子类类型的对象
(多态)。 - 2.当父类型作为方法返回值时:
也可以返回父类类型的对象
或子类类型的对象
(多态)。