高频面试八股文用法篇(五) 重载和重写的区别

news/2024/10/17 14:23:45/

目录

什么是重载(Overload)和重写(Override)?

重载

重写

区别与联系

区别

联系


什么是重载(Overload)和重写(Override)?

重载

  • 重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
  • 每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。即多个重载方法,其入参肯定是不同的

简单来说,重载发生在本类,方法名相同,参数列表不同,与返回值无关,只和方法名,参数的类型相关。

public class OverlodeDemo{//test方法第一次重载,没有参数void test(){System.out.println("无参方法");}//test方法第二次重载,含一个整形参数void test(int a){System.out.println("a" + a);}//test方法第三次重载,含两个参数void test(int a,double b){System.out.println("a:" + a + "," + "b:" +b );}}重载的作用:①多个方法用同一个名字,调用的时候,无需记住那么多的方法名②对程序员而言,调用时直接根据所需自动匹配方法,减少了写方法名的重复步骤

重写

  • 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。

在类继承关系中,父类的非抽象方法,子类是不强制要求重写的。

如果父类方法访问修饰符为 private 则子类就不能重写该方法

  • 重写是发生在类的继承关系,或者类的实现关系中的,

简单来说,就是子类重写的方法必须和父类保持完全一致

//父类
public class Father {public void test(){System.out.println("父类");}
}//子类
public class Son extends Father{@Override   //重写public void test() {System.out.println("子类");    }
}重写的作用
子类可以完善父类之中不足之处/定制化实现,使自身的方法更加的完善。

区别与联系

区别

重载和重写的区别如下

1.定义不同---重载是定义相同的方法名,参数不同;重写是子类重写父类的方法。

2.范围不同---重载是在一个类中,重写是子类与父类之间的。

3.多态不同---重载是编译时的多态性,重写是运行时的多态性。

4.返回不同---重载对返回类型没有要求,而重写要求返回类型,有兼容的返回类型。

5.参数不同---重载的参数个数、参数类型、参数顺序可以不同,而重写父子方法参数必须相同。

6.修饰不同---重载对访问修饰没有特殊要求,重写访问修饰符的限制一定要大于被重写方法的访问修饰符。

联系

方法重载是一个类的多态性表现,

而方法重写是子类与父类的一种多态性表现。


http://www.ppmy.cn/news/239649.html

相关文章

LibTorch部署图像处理相关算法详细教程(附代码)

深度学习图像处理相关代码LibTorch部署详细教程 前言LibTorch简介LibTorch环境安装及问题解决LibTorch涉及的Tensor基本操作张量初始化张量变形张量截取张量间操作 部署过程测试环境推理过程代码Demo扩展部分 前言 本文写于调研深度学习部署方法工作中,需要将图像分…

实习笔试准备(2)

1 第二题 1.1 题目描述 旅行者穿越沙漠的过程中需要不断地消耗携带的饮用水,到达终点前会经过几个绿洲,每个绿洲均设有水分补给站可以为旅行者提供水分补给并收取一定的费用。 沿途共有n个补给站,每个补给站收取的费用都一样,但…

vue中vuex状态管理

一、安装 cnpm i vuex --save-dev二、引入&#xff08;main.js&#xff09; import store from ./storenew Vue({el: #app,store,//注册components: { App },template: <App/> })三、vuex配置 src > store > index.js&#xff08;src下创建store目录&#xff0c;…

私有化部署低代码开发工具:jvs-rules 规则引擎决策流参数说明

JVS规则引擎决策调用 通过决策流水号查询入参变量 [请求参数]决策流 ​ GET/mgr/risk//test/parameter/flow/{no} 请求数据类型 application/x-www-form-urlencoded 响应数据类型 [ "*/*" ] 请求参数 参数名称 参数说明 请求类型 是否必须 数据类型 sch…

DIY电脑配置选择的常见误区有哪些?

1.cpu能尽量买新不买旧、能买带k的可超频的就不要选便宜一两百的带F的或者低主频的&#xff1b;理由如下&#xff1a;cpu制作其实是按照最高级诸如i9去制作的&#xff0c;成品出来之后&#xff0c;经过检测完整的体质好的i9 k系列。核心有瑕疵的屏蔽掉改成i7系列、只能用六核的…

【装机知识】机箱知识整理

虽然机箱&#xff08;鞋盒&#xff09;不会影响电脑的性能&#xff0c;但还是有一些门道的。 主要参数 尺寸 选机箱的第一要素就是尺寸了&#xff0c;要保证机箱能装下所有需要的硬件。 按照大小分&#xff0c;机箱有大机箱&#xff08;全塔&#xff09;、中机箱&#xff08;中…

千云物流 -redis集群安装使用

redis使用的场景 需要满足120万司机用户的缓存, 满足车辆当前位置和车辆服务key存储司机手机号码对应的存储以及存储司机key的信息保证redis能更好的提供服务,避免单点故障对应会话消息的缓存保存。以及临时会话缓存的key。基于im的构建。综合所得:需要的key会上亿。需要稳…

“AI Earth”人工智能创新挑战赛:助力精准气象和海洋预测Baseline[2]:数据探索性分析(温度风场可视化)、CNN+LSTM模型建模

【机器学习入门与实践】入门必看系列,含数据挖掘项目实战:模型融合、特征优化、特征降维、探索性分析等,实战带你掌握机器学习数据挖掘 专栏详细介绍:【机器学习入门与实践】合集入门必看系列,含数据挖掘项目实战:数据融合、特征优化、特征降维、探索性分析等,实战带你掌…