面试:一文搞懂重载和重写的区别
前言
方法的重写和重载是 Java 多态性的不同表现。重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。
一、重载
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,
则称为方法的重载。
对于同一个num函数方法:
(1) 方法名一定相同
(2)参数个数一定不一样、类型可能不一样
(3)访问修饰符和返回值类型可以相同也可以不同
简单来说:重载就是对于不同的情况写不同的方法。 比如,同一个类中,写不同的构造函数用于初始化不同的参数。
二、重写
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写。
College子类中:
(1)方法名必须相同,返回值类型必须相同
(2)参数类型必须相同
(3)访问权限不能比父类中被重写的方法的访问权限更低
比如在第一个num函数里面:
// 一个num方法 (计算两个整数之和)
public Integer num(Integer a, Integer b){return a + b;
}
子类对该类中的返回结果为两整数之和不满意,他说他要两整数之和,那么我们可以在子类中重写满足于自己要求的方法(两整数之商)。如下
public class College extends Student{public Integer num(Integer a, Integer b){// 重写满足于自己的方法return a / b;}
}
测试:
public class Fun{public static void main(String[] args) {// 获取对象College college = new College();Integer num = college.num(4, 2);System.out.println(String.format("result:%s",num));}
}
控制台输出:(结果并不是两数之和4,而是两数之商2)
result:2
简单而言:就是具体的实现类对于父类的该方法实现不满意,需要自己在写一个满足于自己要求的方法。
最后
如果你觉得DT_小白文章写的还不错,请微信搜索并关注「 Java云社 」微信公众号,和DT_小白一起学习Java、分布式、微服务、大数据技术,并且「 Java云社 」收集了大量的大厂面试题目集,等你来挖掘,为了提升自己的能力,实现技术能力的飞跃,每天定时更新超硬核技术干货,我在「 Java云社 」等您的加入,让我们共同学习吧!
面试:一文搞懂重载和重写的区别相关推荐
- java 可以重载等于号码_Java面试之Java基础4——重载与重写的区别
目录 重载与重写的概念 重载与重写的区别 重载与重写的总结 构造器是否能被重写override 为什么函数不能根据返回类型来区分重载 重载与重写的概念 重载:同样一个方法可以根据输入参数列表的不同,做 ...
- 面试:一文搞懂堆和栈的区别
前言 在了解堆和栈之前,我们得了解JVM内存的划分,要了解JVM内存我们得先来聊聊Java程序的执行过程,Java程序在运行时都要开辟空间,Java程序的运行离不开JVM(Java虚拟机),好像鱼儿离 ...
- jmeter进程和线程的区别_一文搞懂进程和线程的区别
计算机系统是由硬件和软件组成的,它们共同协作以运行应用程序.先来看下面这张一个典型的计算机系统的硬件组成图 从上图中看出一个系统由 CPU.ALU(算术逻辑单元).PC(程序计数器).总线(贯穿整个系 ...
- tcp udp区别优缺点_一文搞懂TCP与UDP的区别
一.TCP协议: 位于传输层, 提供可靠的字节流服务.所谓的字节流服务(Byte Stream Service) 是指, 为了方便传输, 将大块数据分割成以报文段(segment) 为单位的数据包进行 ...
- udp 使用connect优点_一文搞懂TCP和UDP的区别
TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol ,用户数据报协议)都属于TCP/IP协议簇.TCP/IP协议集包括了超 ...
- 一文搞懂ETL和ELT的区别
在过去的十年,我们对存储和管理数据的方式发生了很大的变化,并从ETL模式逐渐转向ELT,然而,小编认为这并不会是终点:未来极有可能会向EL(T)发展,也就是EL和T进行完全解耦.当然这只是一种猜想.本 ...
- 网络知识扫盲,一文搞懂 DNS
在找工作面试的过程中,面试官非常喜欢考察基础知识,除了数据结构与算法之外,网络知识也是一个非常重要的考察对象. 而网络知识,通常是很抽象,不容易理解的,有很多同学就在这里裁了跟头.为了更好地通过面试, ...
- ES6学习——一文搞懂ES6
ES6学习--一文搞懂ES6 es6介绍 ES全称EcmaScript,是脚本语言的规范,而平时经常编写的EcmaScript的一种实现,所以ES新特性其实就是指JavaScript的新特性. 为什么 ...
- 一文搞懂RNN(循环神经网络)
基础篇|一文搞懂RNN(循环神经网络) https://mp.weixin.qq.com/s/va1gmavl2ZESgnM7biORQg 神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只 ...
最新文章
- C#图片灰度处理(位深度24→位深度8),用灰度数组byte[]新建一个8位灰度图像Bitmap 。...
- BZOJ4571:[SCOI2016]美味——题解
- go解析复杂json数组字符串:结合使用json和simple-json库
- Wi-Fi Expert专业无线网测试软件
- 如何:带有Thymeleaf和Spring Boot的Java 8日期和时间
- K8S仪表板Service unavailable故障的解决办法
- linux winrar 安装目录,WinRAR 5.61发布,提供Linux版本下载,附安装方法
- 前端框架--React props与React state
- 比尔·盖茨----十一项人生建议
- 信息审计服务器功能,审计服务器是什么意思?如何使用Audit和目录审计
- DataFrame的级联合并操作
- 趋势科技企业级杀软产品俩 0day 已遭利用
- Jmeter使用SSL(HTTPS协议)
- 手机锁屏后微信收款语音不播报?-by:nixs
- balser相机IP设置
- java代码复数包括虚部和实部,C++ complex复数类用法详解
- 惠群计算机科技,电脑报专访:探索新视角,再造多元化的宏碁
- 如何将英文句子分词(拆分单词), 并判断分词是否为英文单词
- python怎么计算百分比_python计算两个数的百分比方法
- 360cdn能挡住cc攻击_人人用得起的CDN加速服务,可防御CC攻击
热门文章
- gm怎么刷东西 rust_RUST:2020年7月第三周 修补和更新
- 信息学奥赛一本通 1130:找第一个只出现一次的字符 | OpenJudge NOI 1.7 02
- 信息学奥赛一本通(1069:乘方计算)
- 字符串处理 —— 回文串相关 —— 回文串的判断
- 税收与补贴问题(洛谷-P1023)
- pytorch4:简单的线性回归
- jquery-选择器
- Linux 不小心删除了 root,root目录不小心删除了怎么办……
- ubuntu 18.04.1 使用心得
- “CSDN开发助手”:【必备插件 · 安装与使用教程】