【Java 面试合集】重写以及重载有什么区别能简单说说嘛

news2024/11/27 1:40:50

重写以及重载有什么区别能简单说说嘛

前述

这是一道非常基础的面试题,我们在回答的过程中一定要逐一横向比较。

从方法的 修饰符返回值方法名含义参数等方面进行逐一分析来比较不同。

话不多话,看下面的图文。

在这里插入图片描述

1. 重载实例

public class Test001 {
    public void run(int number) {
        System.out.println("run(int number)");
    }

    public void run(String str) {
        System.out.println("run(String str)");
    }

    public int run(int number, String str) {
        System.out.println("run(int number, String str)");
        return 0;
    }

    private String run(String str, int number) {
        System.out.println("run(String str, int number)");
        return "";
    }
}

上述的实例实现了方法重载,方法重载的特征是:同一个类中,方法签名相同,参数列表不同

参数列表代之指:类型不同, 个数不同, 顺序不同

所以重载只跟函数签名 以及参数列表有关系,跟其他无关。

2. 重写实例

父类代码

public class Parent extends SuperP{
    public Parent run(int number) {
        System.out.println("run(int number)");
        return new Parent();
    }
}

子类代码

public class Child extends Parent {
    public void eat(String str) {
        System.out.println("eat(String str)");
    }

    @Override
    public Parent run(int number) {
        return new Child();
    }
}

上述示例中 子类重写了父类的run方法。

既然是重写的话,那么函数签名以及参数列表是必须相同的。
但是针对于返回值,父类的返回值一定是大于等于子类的,这个符合了多态的特征。可以理解为Person p = new Child()

这里的大于呢,其实就是继承关系,就是父类的返回值一定是子类返回值的本身或是父类才行。

3. 应用实例

  • 重载

重载的意义在于 当方法功能相似,但是参数不同,这个时候我们就可以使用重载

  • 重写

重写一定发生在继承关系中,也就是子类可以重写父类的方法。当父类的方法不满足于子类的时候,子类就可以重写。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/336148.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么样的台灯适合学生做作业的?开学季,适合孩子写作业的台灯

学生在做作业时,是离不开台灯的,在台灯下学习三四个小时,如果台灯质量不好,那对视力造成很大影响,研究表明,儿童在过亮或者过暗的环境中长时间学习,会导致视力下降等,那么什么样的台…

瀚博半导体载天VA1 加速卡安装过程

背景: 想用 瀚博半导体载天VA1 加速卡 代替 NVIDIA 显卡跑深度学习模型 感谢瀚博的周工帮助解答。 正文: 小心拔出 NVIDIA 显卡,在PCIe 接口插上瀚博半导体载天VA1加速卡,如图: 这时显示屏连接主板的集成显卡 卸载…

cookie和Session的作用和比较

目录 什么是cookie cookie的工作原理 什么是session Session的工作原理 为什么会有session和cookie cookie和session如何配合工作 cookie和Session作用 什么是会话 什么是cookie cookie是web服务器端向我们客户端发送的一块小文件,该文件是干嘛的呢&#xf…

Java基础知识疑难点

1. 基础 1.1. 正确使用 equals 方法1.2. 整型包装类值的比较1.3. BigDecimal 1.3.1. BigDecimal 的用处1.3.2. BigDecimal 的大小比较1.3.3. BigDecimal 保留几位小数1.3.4. BigDecimal 的使用注意事项1.3.5. 总结 1.4. 基本数据类型与包装数据类型的使用标准 2. 集合 2.1. Arr…

Docker-用Jenkins发版Java项目-(1)Docke安装Jenkins

文章目录前言环境背景操作流程docker安装及jenkins软件安装jenkins配置登录配置安装插件及创建账号前言 学海无涯,旅“途”漫漫,“途”中小记,如有错误,敬请指出,在此拜谢! 最近新购得了M2的MAC&#xff0c…

LeetCode刷题--- 138. 复制带随机指针的链表(哈希表+迭代)

文章目录一、编程题:430. 扁平化多级双向链表(双指针)1.题目描述2.示例1:3.示例2:4.示例3:5.提示:二、解题思路1. 题目分析2. 方法1(哈希表)思路:复杂度分析&…

备考 PMP 考试时需要着重注意什么?

PMP考试难度并不是很大。科学备考一定没有问题的~这里在和大家说说2023年PMP的考试时间:3月、5月、8月、11月(其中3月不开启新报名)需要注意的地方还是蛮多的。我就根据自己考试的经验和大家分享一下在考试整个过程中注意啥&#…

2023年广西最新建筑施工焊工(建筑特种作业)模拟试题及答案

百分百题库提供特种工(焊工)考试试题、特种工(焊工)考试预测题、特种工(焊工)考试真题、特种工(焊工)证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻…

【nodejs】nodejs入门核心知识(命令行使用、内置模块、node 模块化开发)

💻 nodejs入门核心知识(命令行使用、内置模块、node 模块化开发) 🏠专栏:JavaScript 👀个人主页:繁星学编程🍁 🧑个人简介:一个不断提高自我的平凡人🚀 🔊分享…

(1分钟突击面试) 高斯牛顿、LM、Dogleg后端优化算法

高斯牛顿法 LM法 DogLeg方法编辑切换为居中添加图片注释,不超过 140 字(可选)知识点:高斯牛顿是线搜索方法 LM方法是信赖域方法。编辑切换为居中添加图片注释,不超过 140 字(可选)这个就是JTJ是…

React设计原理—1框架原理

阅读前须知 本文是笔者学习卡颂的《React设计原理》的读书笔记,对书中有价值内容以Q&A方式进行呈现,同时结合了自己的理解🤔阅读时推荐先看问题,想想自己的答案,再和答案比对一下本文属于前端框架科普,…

68. Python的相对路径

68. Python的相对路径 文章目录68. Python的相对路径1. 知识回顾2. 什么是相对路径3. 相对路径的语法4. 查看相对路径的方法5. 写出所有txt文件的相对路径5.1 同目录5.2 上级目录6. 用相对路径读取txt文件6.1 读取旅游.txt6.2 读取旅游经费.txt6.3 读取笔记.txt和new.txt6.4 读…

微服务调用组件Feign

目录 JAVA 项目中如何实现接口调用? Httpclient Okhttp HttpURLConnection RestTemplate WebClient 什么是Feign 优势 Spring Cloud Alibaba快速整合OpenFeign 引入依赖 编写调用接口FeignClient注解 调用端在启动类上添加EnableFeignClients注解 发起调…

【送书活动】学Vue核心技术和uni-app跨平台实战项目就来看看这本书

本节目录1、书籍介绍2、推荐理由2.1 有充足的配套资源图书页内展示。2.2 PPT示例代码讲解演示2.3 内容由浅入深,渐进式学习3、参与方式1、书籍介绍 本书共分为14个章节,包括Vue.js核心基础、Vue.js高级进阶、Axios发送HTTP请求,Vuex状态管理…

牛客 面试必刷TOP101 题解(3、二叉树)

23 二叉树的前序遍历 /*** struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* };*/ #include <vector> class Solution { public:vector<int> ans;void show(TreeNode…

腾讯架构师极力推荐:Java多线程与Socket实战微服务框架

在这个技术不断更新的年代&#xff0c;跟不上时代变化的速度就会被刷掉&#xff0c;特别是咱们程序员这一群体&#xff0c;技术不断更新的同时也要同时进步&#xff0c;不然长江后浪推前浪&#xff0c;前浪… 一个程序员从一个什么都不懂的小白在学到有一定的Java基础的时候肯…

WebDAV之葫芦儿·派盘+可达漫画

可达漫画 支持WebDAV方式连接葫芦儿派盘。 这是一款专为阅读你的漫画收藏而设计的阅读器。 热爱漫画的你肯定收藏了不少各种类型的漫画,它们可能有各种各样的格式,zip,rar,cbz,cbr,epub, mobi 或 pdf,也可能只是单纯的文件夹。 可达漫画支持「流式阅读」

数据推荐 | 手势识别训练数据集

多样化&#xff0c;有按键、语音等&#xff0c;也由于整个疫情的大环境下&#xff0c;一种更方便更卫生更符合人们的非接触式交互方式—手势识别正大步发展&#xff0c;极富图像化和具备行动性的手势操作将会与人们的生活息息相关。 手势识别应用场景广泛&#xff0c;常见应用…

【微电网】并网微电网运行经济性研究(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

面试官问我:说说你对JMM内存模型的理解?为什么需要JMM?

点个关注&#xff0c;必回关 随着CPU和内存的发展速度差异的问题&#xff0c;导致CPU的速度远快于内存&#xff0c;所以现在的CPU加入了高速 缓存&#xff0c;高速缓存一般可以分为L1、L2、L3三级缓存。基于上面的例子我们知道了这导致了缓存一致 性的问题&#xff0c;所以加入…