java 重写 两同两小一大,Java中方法的重载与方法的重写介绍

Java中方法的重载与重写

1、方法的签名

我们知道,方法的定义是由五个要素组成的,分别是修饰符、返回值类型、方法名称、方法参数以及方法体。那么将方法名称和方法参数放在一起,则称为这个方法的签名,简称方法签名。

在Java中,同一个类中两个不同的方法不可以出现相同的方法签名。也就是说方法签名是方法唯一的标识。如果相同那么就是同一个方法,Java不允许声明相同的方法,否则编译不通过。

2、方法的重载(Overload)

前面说的方法签名是指方法名称和参数列表的统称。如果同一个类中,两个方法的方法名称相同,但是参数列表不同,那么就规定这是方法的重载。

2.1、方法重载定义

在同一个类中,方法名称相同,参数列表不同,方法体不同,则称为方法重载。

在Java中,方法的重载是发生在编译期间的。编译器会在编译期间,将根据方法的参数列表自动绑定调用哪个方法。

所以重载归结为一句话:“重载看参数”。

2.2、方法重载的规则

方法的重载规则如下:

<1>方法名称必须相同,参数列表必须不同

9eb16ea13e177e74babb96bdce6dd65e.png

图1

<2>参数列表不同指的是参数个数、参数类型、参数类型位置的不同的,而不是指参数名称、参数位置不同。

2571418034b9998be4a89e4ab69dd67a.png

图2

<3>重载只和方法名称以及参数列表有关,与其他的无关。

31e2d89e3484c4f6138028bcd85ddd7a.png

图3

<4>重载发生在同一个类中,或者子类中

cea785e0061dec592fd6c3501a363b59.png

图4

3、方法的重写(Override)

3.1、重写的定义

方法的重写:发生在父子类中,方法名称必须相同,方法参数必须相同,方法体不同。

在Java中,方法的重写是发生在运行期间的。编译器会在运行期间,将根据调用方法的对象类型自动绑定调用哪个方法。

所以重写归结为一句话:“重写看对象”。

3.2、重写的规则

重写规则:“两同两小一大”。

<1>两同:方法名称相同,方法参数相同

649138f18567d09eb1043895a830b572.png

图5

两小:

<2>返回值类型,子类小于等于父类返回值类型

返回值类型分为三种情况:void类型:当方法无返回值时,重写时候,父子类返回值类型必须相同,都为void类型。

9921223ea398e209bc427fb52e3e1fc7.png

图6基本数据类型:当方法返回值是基本数据类型时,重写时候,方法的返回值类型必须一致。

6f8f887ed2b3576dff121bdc7ec9c747.png

图7引用数据类型:当方法返回值是引用数据类型时,重写时候,方法的返回值类型子类必须小于或等于父类的方法返回值类型。

fabb535e03bac9e87297c22a0730e173.png

图8

注:由于SubFuncDemo是FuncDemo的子类,所以SubFuncDemo类型是小于FuncDemo类型的。

<3>方法抛出的异常:子类小于等于父类抛出的异常

66109da598269b1d638cab8e5381bf4f.png

图9

一大:

<4>方法的访问修饰符:子类大于父类的访问修饰符

79891ee580ee06993de496ac2e58e912.png

图10

4、理解“重载看参数,重写看对象”

要理解“重载看参数,重写看对象”,看下面这道例题:

1225904caad7a0a1fe7394e7da7df6c9.png

图11

最终输出结果如下图所示:

925c3d2f2c6158394b904aae15df1522.png

图12

综上,Java中方法的重载与方法的重写介绍完了。

这是我的第13篇文章,谢谢大家阅读。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值