java函数的重载,说白了就是函数块函数名一样,但函数类型和参数类型和参数列表个数不同

重载之和参数列表有关系,与返回值无关

Java重载 实验 java重载案例_Java重载 实验

java函数重载

函数重载铺垫如下图

Java重载 实验 java重载案例_函数重载_02

函数重载铺垫

上图功能显示,功能一致所以功能一致所以用的功能函数名一致,都改用add函数

当出现函数块中函数名称一致时,如何区分去执行代码块,则通过函数定义的形参个数来确定,如下图

Java重载 实验 java重载案例_代码块_03

函数重载入门案例启发

由上例题可以清晰的明白如果参数列表个数与定义过的函数形参列表个数不一致时,则会编译失败,系统会提示你没有定义过,如下图代码与编译结果

Java重载 实验 java重载案例_java方法重载实事例_04

参数列表个数不一致时编译失败无法重载

从上面三个案例可以明确的知道重载的形象表现,即函数块名称一致,形参列表个数不同,对应匹配执行。如调用的形参列表与定义的函数块形参列表不一致时则编译失败,重载失败

特别注意如下图代码块

Java重载 实验 java重载案例_Java重载 实验_05

这种函数名一致列表一致不叫重载

如上图这种函数名一致列表一致不叫重载,叫啥呢?哈哈哈

叫一模一样啦,有木有一种1+1=多少时的那种突然的困惑哈哈哈哈~~~~

一调用函数,都不值调用第一个add函数块好还是第二个add函数块好了,我们没有疯,只不过运行的虚拟机已经疯了(为了造福广大运行系统后期写代码多的时候千万要注意下哟,至少在函数名一致时,形参列表切记不可一致)

从上意会到:

什么时候用重载函数?

当定义的函数功能块相同,但参与运算的位置内容不同时,那么,这是就定义一个相同的函数名称以表示功能,方便阅读,

而通过形参列表的不同来区分不同名函数。

//打印一个所谓的99乘法表,但是有些用户不想算到9 ,只想算到3?5?或6!那怎么办?

//此时则再定义一个函数块实现重载

Java重载 实验 java重载案例_代码块_06

函数重载99乘法表经典案例

以上就是一种典型的重载形式,函数名不用变,只需要变函数形参列表即可

明确了什么是重载后,我们在升华下咱们的程序猿档次,优化重复性代码,提高了代码的复用性。

从上的代码块来分析,除了形参个数不同外,函数名和代码块功能几乎是一模一样的,对于程序猿大师来说,这真的是“无法直视”那么该如何优化呢?如下图程序猿大师初级优化

Java重载 实验 java重载案例_函数重载_07

大师的初级优化,你get到什么了

怎么样?两个代码图,你get到什么了吗?

重复性代码不见了,而且提升了代码的重复性,有木有?

给定原函数,列出多个函数对比,问哪个函数重载了?如下图:

Java重载 实验 java重载案例_代码块_08

重载案例对比加深印象

从上列咱们可以基本认识到函数重载的具体表现方式,主要区分在函数形参列表的个数,参数1和参数2,是有区分顺序的,按顺来区分,类型不同也算重载,但是注意一下,重载的概念和实现方式和返回值类型无关呢~~~

上面提供了编译代码,有兴趣的朋友可以编译运行试试哈。

每天都会更新知识点和案例分享哦