当前位置: 首页 > news >正文

【Java学习】多态

目录

一、方法相同

二、方法重写

1.概念

2.条件

三、向上转型

1.概念

2.方式

四、方法绑定

五、多态

一、方法相同

方法相同要求方法名相同、参数列表相同、返回值类型相同(与两方法修饰的访问限定符相不相同、静态非静态状态相不相同无关),而且在子类与父类相同的方法中,子类那边方法的访问权限必须大于等于父类那边方法的访问权限

二、方法重写

1.概念

重写是由子类类变量引用赋给父类类变量引用后父类类变量引用里对原子类类变量里重写方法的选择去调用


2.条件

父类与子类中相同的方法符合存在的情况下,如果子类的方法是非静态的,再加上父类的方法符合以下条件则能实现子类对父类方法的重写:

  • 父类的那个要被重写的方法必须也是非静态的
  • 并且在父类的非静态方法中构造方法不能被重写

父类的构造方法的方法名必须与父类类名相同,子类的构造方法的方法名必须与子类类名相同,在子类那边的构造方法要重写必须方法名相同要与父类类名相同,在子类里不能实现它的这个构造方法,所以父类的构造方法不能重写

  • 父类那个要被重写的方法必须是要被直接对应的,不能被private修饰被包装
  • 父类那个要被重写的方法不能被定义为确定最终执行方法,不能被final修饰
  • 父类那个要被重写方法的返回类型要与子类重写方法的返回类型相同也可以呈继承关系的不同

三、向上转型

1.概念

子类类变量引用转类型为父类类变量引用就是向上转型

子类的似复刻变量的引用用父类的类变量来接时,父类类变量引用接收后所指向的似复刻变量变为了用父类类变量创的似复刻变量,如果子类那边有对应实现的重写方法,路径信息上还有多加子类类变量的重写方法路径信息在调用父类类变量的那个被重写的方法时会转为访问调用对应的子类重写的方法,除此之外子类类变量创的其它剩余下的似复刻变量部分引用的权限没有消失而是被隐藏,可通过对此父类类变量引用类型强转回子类类变量引用类型获取回子类类变量那边的被隐藏的权限,获取回子类类变量原本的全部访问权限(隐藏式父类类变量引用转回其子类类变量引用即向下转型)


2.方式

子类类变量引用是可类型安全地转为父类类变量引用的,此转类型不会丢失数据,是安全允许的可直接接转来转类型的,有赋值接转形参接转返回值类型接转

(向上转型是收敛式隐藏的减法减得多减得少都不会出什么事,而向下转型是加法,如果加的加上原来不属于它的就出错了,所以向下转型是不安全的,类型转换需要强转)


四、方法绑定

绑定即对方法多个选择的确定

  • 调用重载的方法时,方法名相同的方法有多个,在编译时根据传参情况确定下要调用的方法,即静态绑定
  • 调用重写的方法时,要调用的方法子类与父类都有且相同,在执行时根据重写的对象确定要执行的那个方法,即动态绑定

一个方法先经静态绑定后经动态绑定,最终确定要执行的方法

方法重载在同一个类中实现,方法重写在不同类即父类与子类中实现

五、多态

一个方法不同对象截然不同调用效果,这个父类方法是多态的能够实现根据对象自动选择调用对应方法,即一个父类方法不同子类对象自动对应上各自子类方法解决方法调用时选择哪个方法调用的选择问题,全部直接对它调用,不用自己判断选择调用了

相关文章:

  • LeetCode 501.二叉搜索树中的众数
  • C++ 移动语义
  • 电商API安全防护:JWT令牌与XSS防御实战
  • Java EE初阶-计算机导论
  • 15增减字符串匹配(贪心)思路解析+源码
  • 分布式 IO 模块:造纸设备的降本增效利器
  • 算法专题(四):前缀和
  • 累加器(Accumulators)在Spark中的应用
  • 收到线上服务器出现cpu告警一般怎么排查?
  • pytorch基础
  • 如何保证bug在改完之后不会引起新bug
  • 读书笔记-高性能mysql(理解mysql知识点)
  • 【CS285】听说过“欧氏距离”,这个“马氏距离(Mahalanobis distance)”又是什么呀?
  • Redis复制性能优化利器:深入解析replica-lazy-flush参数
  • 深入解析内存池设计:从原理到手动实现
  • 推荐几款开源免费的 .NET MAUI 组件库
  • 2025-2-21 leetcode刷题情况(二叉树的修改与构造)
  • python面试题整理
  • 基于STM32的智能电力监测与需求响应系统
  • vue3 文件类型传Form Data数据格式给后端
  • cms网站搭建好了再怎么做/线上广告推广平台
  • 做网站 图片格式/石景山区百科seo
  • 有什么简单的网站项目/实训百度搜索引擎的总结
  • 梁山网站建设哪家便宜/企业推广
  • 佛山网站哪家最专业/上海网络推广招聘
  • 自己怎么优化网站排名/360搜索推广官网