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

多态(2)

大家好,今天我们继续来学习多态的知识,上篇我们已经简单了解了多态,今天我们来看看该如何实现多态,来看。

重载和重写的区别是什么?

重载:  

1.方法名称相同

2.参数列表不同[(数据类型,个数.顺序)]

3.返回值不做要求

重写(一定发生在继承层次上):

1.方法名称相同

2.返回值相同(构成父子类关系也可以)

3.参数列表相同(数据类型,个数,顺序)

注:子类的访问权限要大于等于父类的权限

private < default(默认权限)< protected < < public

4.private修饰的方法是不能重写的。

5.final修饰的方法我们叫做密封方法,不能被重写。

6.如果被static修饰,也不可以被重写。

 

2.3重写.

重写(override):也称覆盖,重写是对父类非静态,非private 修饰,非final修饰,非构造方法等的实现过程进行重新编写,返同值和形参都不能改变,即外壳不变,核心重写。重写的好处在于子类可以根据需要,定义特定于自己的行为,也就是说子类能够根据需要定现父类的方法。

[方法重写的规则]

.子类在父类重写的方法时,一般必须与父类方法原型一致:返回值类型 方法名(参数列表)

要完全一致

.被重写的方法这返回值类型可以不同,但是必须是具有父子关系的.访问权限不能比父类中被重写的方法的访问权限更低.

例如:如果父类方法被public修饰,则子类中重写的方法就不能声明为protected.

父类被static,private修饰的方法,构造方法不能被重写。

重写的方法,可以使用@Override注解来显式绑定,有了这个注解.能帮我们进行一些合法性校验,例如不小心将方法名字拼写错,那么此时编译器就会发现父类中没有该方法就会编泽报错,提示无法构成重写.

[重写和重载的区别]

区别点:

参数列表,重写不能修改,重载必须修改。

返回类型,重写一定不能修改(除非构成父子类关系),重载可以修改。

访问限制符,重写一定不能做更严格的限制(可以降低限制),重载可以修改。

IDEA重写:

右键Generate->Override.Methods

00e3d89c4c194912a08fe9e03ae99ab3.png

315576d1692d42b3bdd850a8ae33d240.png 

eab55148feec4a7c9739e9c47eee585b.png 

好了,今天分享就到这里,谢谢大家!!!

5b0beb2e92d94382b14ccc2dd3e3df9e.png 

 


http://www.kler.cn/a/504353.html

相关文章:

  • 【汇编】汇编编程中的指令传参方式
  • Sonatype Nexus OSS 构建私有docker 仓库
  • pytorch张量分块投影示例代码
  • gesp(C++五级)(4)洛谷:B3872:[GESP202309 五级] 巧夺大奖
  • ISP各模块功能介绍
  • Windows图形界面(GUI)-QT-C/C++ - Qt图形绘制详解
  • 闲谭SpringBoot--ShardingSphere分布式事务探究
  • 使用中间件自动化部署java应用
  • Oracle 学习指南与资料分享
  • React 实战详细讲解:setState 是什么、如何更新及批量处理
  • Java IDEA中Gutter Icons图标的含义
  • 实现一个VSCode插件(从创建到发布)
  • android 内存泄露实战分析
  • 台湾省村里边界2018年4月更新arcgis数据shp格式内容分析测评
  • Unity ShaderGraph中Lit转换成URP的LitShader
  • 【数学】概率论与数理统计(四)
  • docker run一个镜像如何指定最大可使用的内存大小、cpu大小
  • 一.项目课题 <基于TCP的文件传输协议实现>
  • Linux下杂项设备驱动的编写
  • Elasticsearch技术标准解析与实践案例
  • 软路由如何实现电脑手机一机一IP
  • springboot 根据UUID生成唯一的短链接
  • 如何学好数据结构?
  • 大数据原生集群 (Hadoop3.X为核心) 本地测试环境搭建二
  • 如何备考PostgreSQL中级认证
  • 统计有序矩阵中的负数