java中构成方法重载的要素,Java中方法的重载与方法的重写介绍

Java中方法的重载与重写

1、方法的签名

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

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

2、方法的重载(Overload)

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

2.1、方法重载定义

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

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

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

2.2、方法重载的规则

方法的重载规则如下:

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

d3a68959ef55529f633f1fdc4918f92e.png

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

5ba3d9f78e706f77ebc3118290c0180b.png

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

89794e7ee090168b8684dcd61f8b85fe.png

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

dae958f2b2bbc7744bc4fa34045d4ed6.png

3、方法的重写(Override)

3.1、重写的定义

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

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

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

3.2、重写的规则

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

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

7b730a4f6aca47782f58613dc7581cf9.png

两小:

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

返回值类型分为三种情况:

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

0fe0b8fffda57a5b4b98e0c92a0c662f.png

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

2e1bac27dc9aa9149cc08643563fddf9.png

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

66552ab3223511cfec69fd14797cbe6d.png

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

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

5b9713e4ff7411c006846e53c1c960a9.png

一大:

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

e977d2154ea7fc01401c03b90f9e6f6c.png

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

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

3bdc9d4caa88b4ed0dc811d7eda3dfac.png

f981e6f694260483ec0d5f21e787f80e.png

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

本文相关词条概念解析:

方法

(1)[method;way;means](2)古指量度方形的法则(3)现指为达到某种目的而采取的途径、步骤、手段等方法的含义较广泛,一般是指为获得某种东西或达到某种目的而采取的手段与行为方式。它在哲学,科学及生活中有着不同的解释与定义。方法和手段是人们成功办事,或管理者实现管理目的的不可缺少的中介要素。方法虽然也被人们称之为活动的手段,但它不是物化了的手段,是人类认识客观世界和改造客观世界应遵循的某种方式、途径和程序的总和。方法的一个同义词是技术,给人的感觉,方法通俗一些,技术高雅一些。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值