穿越Java - 语法基础篇 第三章 面向对象介绍 | 第13节 多态

开发环境

基于:IntelliJ IDEAMaven构建工具JDK1.8SpringBoot 2.3.4Spring4.3.28编写。

官人如需使用 IDEA 请阅读教程:IntelliJ IDEA
官人如需使用 Maven 请阅读教程:Maven 构建工具的下载与安装

更多干货

请参考:《穿越 Java 之 语法基础篇》 系列文章
请参考:《穿越 Java 之 Web基础篇 》系列文章
请参考:《穿越 Java 之 开发必备框架篇 》 系列文章
请阅读:《穿越 Java 之 SpringBoot框架篇》系列文章
请阅读:《穿越 Java 之 SpringCloud微服务架构篇》 系列文章

定义

  • 同一个事物在不同时刻表现出来的不同状态。即(身份的转变)

前提

  • 必须是有继承关系

体现

  • 往往有方法重写。子类对象 被 父类对象 所引用

多态时成员变量的特点

  • 【数据】多态时,编译看左边,运行看左边

多态时成员方法的特点

  • 【行为】 多态时,编译看左边,运行看右边

多态时静态变量的特点

  • 【行为】 多态时,编译看左边,运行看左边

多态时静态方法的特点

  • 【行为】 多态时,编译看左边,运行看左边

弊端

  • 当我需要访问子类特有的行为时,必须向下转型

  • 强转格式: 子类类型 变量名= (子类类型)父类变量;

  • 当两个类不具备继承关系时,不能使用强转,就发生变异错误。

  • 即使两个类有继承关系,如果他引用的对象不是某个子类,运行时也会发生异常【clalssCastException】这是就需要 instanceof关键字配合 if来使用`

方法相关特点

  • 1.当父类型作为方法参数时:
    调用时可以传递父类类型的对象子类类型的对象(多态)。
  • 2.当父类型作为方法返回值时:
    也可以返回 父类类型的对象子类类型的对象(多态)。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值