Java之 重载 重写的区别

article/2025/11/7 15:45:02
   方法的重写和重载是Java多态性的不同表现;重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。

重载

    在同一个类中,多个方法有相同的方法名,但参数列表不同,这种同名不同参的方法就是重载

重写

	子类在继承父类方法的基础上(方法名和参数列表相同),对父类方法的实现进行覆盖的操作叫重写

在这里插入图片描述

规则

重载的规则:

0)前提 同一个类中;

1)必须具有不同的参数列表;

2)可以有不同的访问修饰符;

3)可以有不同的返回类型,只要参数列表不同就可以了;

4)可以抛出不同的异常。

重写的规则:

0)两个类存在继承关系;

1)参数列表必须完全与被重写的方法相同,否则是重载;

2)返回的类型必须一直与被重写的方法的返回类型相同或是被重写的方法返回类型的子类,否则是重载;

3)访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private);

4)重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。如:

父类的一个方法申明了一个检查异常IOException,在重写这个方法是就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非检查异常。

总结

重载(overload)

1、参数类型、个数、顺序至少有一个不相同。

2、不能重载只有返回值不同的方法名。

3、存在于父类和子类、同类中。

重写(override)

1、方法名、参数、返回值相同。

2、子类方法不能缩小父类方法的访问权限。

3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。

4、存在于父类和子类之间。

5、方法被定义为final不能被重写。

重载

重载对访问权限、返回值 无要求

public class Test {public int add(int num) {return num;}public int add(int num1, int num2) {return num1 + num2;}
}

重写

父类
public class Animal {public String testName(String name) {return name;}
}子类
public class Monkey extends Animal{默认实现父类@Overridepublic String testName(String name) {return super.testName(name);}可根据实际需求修改@Overridepublic String testName(String name) {return name;}
}		

http://chatgpt.dhexx.cn/article/s430qI2n.shtml

相关文章

java中方法重载和重写的区别

方法重载和重写,光从名称上来说,很类似,也很容易弄错,接下来我们先简述两者的区别和联系。 1. 方法重载 首先方法重载是同一个类中的不同方法间的关系,这些方法具有同名(方法名一样),但是具有不同的参数列…

重载和重写的区别(详解)

1、方法重写 概念: 重写是子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。即外壳不变,核心重写! 好处: 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说…

java中重载与重写的区别

重写(Overriding) 重载(Overloading) 类的数量 父子类、接口与实现类 本类 方法名称 一致 一致 参数列表 一定不能修改 必须修改 返回类型 一定不能修改 可以修改 异常 可以减少或删除,但不能扩展 可以…

重载和重写的区别有哪些?

重载和重写的区别有以下几点: 一、定义上的区别: 1、重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 2、覆盖(也叫重写)是指在派生类中重新对基类…

重载和重写有什么区别

一、定义上的区别: 1、重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 2、覆盖(复也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数&…

重载和重写区别

以下都是Java的基础面试题,相信大家都会有种及眼熟又陌生的感觉、看过可能在短暂的面试后又马上忘记了。JavaPub在这里整理这些容易忘记的重点知识及解答,建议收藏,经常温习查阅。 文章目录 3. 重载和重写区别10道不得不会的Java基础面试题 3…

getBytes的坑

由于业务需要,想要获取value字符串的字节长度,于是用了下面方法。 int length value.getBytes().length; 发包给测试的时候,于是奇怪问题产生了。 测试的运行效果和我这边不一样。 1、重启服务 2、查看class确认是否正确打包 然而都没…

java中bitconverter_BitConverter.GetBytes 方法以什么顺序返回字节数组

前言 我在“浅谈 ZipInteger”一文中的 ZipInteger 结构中使用了 BitConverter 类的 GetBytes 方法。当时我是假设 GetBytes 方法根据 IsLittleEndian 的值不同而按照不同的顺序返回字节数组。但是 MSDN 有关 BitConverter 类的文档中没有对此作出明确的说明。请参见我在 MSDN …

java Getbytes转中文,java new String getBytes 到底怎么转换字符集的问题

我们常常遇到字符集转换的问题。 我要说的当然不是网站中遇到的ISO8859-1的那个傻BUG。 实例: 目标,把一个UTF-8的中文字符串转化成GBK的字符串。 新建一个GBK的java项目。 也就是说*.java文件中的字符是用GBK字符集保存的。 在main中,建一个中文字符串,那么这个静态串就是…

java getbytes 乱码_深入解析java String中getBytes()的编码问题

Java服务器后台在和Android端App通信时,遇到了两端关于用MD5加密同一包含中文的字符串结果不一致的问题。 具体问题描述: Java服务器后台和Android端AS用了同一个MD5的工具类,且两边项目的默认编码都是UTF-8 ,加密纯英文数字的字符…

java getbytes 长度_JAVA中的getBytes()方法

在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这个表示在不同情况下,返回的东西不一样! String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如: Java代码 byte[] b_gbk = "深"…

getBytes方法

字符串中的字符变成一位一位的01比特流 一个英文字符占8比特,也就是一个字节 一个中文字符占24比特,也就是3个字节(其实不同编码方式,占几个字节不一样,我们这里采取的UTF-8编码方式,具体可以看下图&…

最全微信小程序源码项目开发代码合集

小程序源码是用PHP和Java编程语言编写的程序,可以包含在HTML页面中,就像图像包含在页面中一样。您在本教程中构建的应用程序向您展示了如何在IDE中构建和部署微信小程序源码。      源码:y.wxlbyx.icu      创建或导入Applet源文件  …

智慧外链微信小程序源码1.8版本

好不容易搞到的一套最新版的,又废了老大劲搭建了起来,想用于抖音跳转微信加好友使用,不知道是不是哪里没操作对,没达到想要的效果 现在分享出来给大家,人多力量大,跑起来的可以分享一下经验 前端、后端模块…

最新抓取微信小程序源码教程+附逆向工具WxappUnpacker

正文: 文章目录 前言一、工具准备(免费) 1 解密工具2 逆向工具二、解密小程序 1.确认小程序包位置2.打开一个小程序3.解密小程序包三、逆向小程序 1、检查nodejs2、安装依赖3、正式逆向 前言 想成为一名微信小程序的开发者,前端思路的学习…

云开发多功能工具箱微信小程序源码/带流量主微信小程序源码

☑️ 编号:ym398 ☑️ 品牌:无 ☑️ 语言:微信小程序 ☑️ 大小:2MB ☑️ 类型:云开发多功能工具箱 ☑️ 支持:微信小程序 🎉 欢迎关注(发消息才不限制),私信,领取 &…

2048微信小程序源码

2048微信小程序效果 布局页面 页面结构 <view class"action_cavas" bindtouchstart"tapStart" bindtouchmove"tapMove" bindtouchend"tapEnd"> <view class"score"><view class"title">2048<…

微信小程序源码获取(附工具的下载)

在很多时候我们需要对微信小程序的页面样式进行借鉴。所以我们需要对它进行反向破解。下面是反向破解的流程图 第一种是对微信电脑桌面小程序进行破解&#xff1a; 只要你登录电脑wx并使用过小程序&#xff0c;那么对应的路径下的WeChat Files\Applet下就会产生很多.wxapkg结…

微信小程序源码反编译

一、前言 我百度了各种关于小程序地反编译教程&#xff0c;但是感觉都不太适合像我这样地初学小白&#xff0c;踩了挺多坑。在这里把我重新简化好的&#xff0c;快速地获取一个微信小程序源码的方式记录下来。 二、简单聊一下xxxxx.wxapkg 先来想想一个很简单的问题&#xf…

一键生成动漫头像微信小程序源码

一键生成动漫头像微信小程序源码&#xff0c;只需要上传一张图片&#xff0c;即可在线由AI生成一张动漫头像&#xff0c;非常的Nice&#xff01; PS&#xff1a;使用国一个免费AI接口&#xff0c;不保证该接口能永久使用。 下载 https://pan.baidu.com/s/1P6yyjNdi1-HiLi7aMdnV…