Java重载方法详解:方法签名与返回值类型的影响
过载定义

首先,重载,简单来说就是函数或者方法具有相同的函数名但是不同的参数列表的情况。这种名称相同、参数不同的函数或方法称为重载函数或重载方法。 ,示例如下:
从定义的角度来看,重载很好理解。让我们继续下一个问题。仅具有不同返回值的函数是否被视为重载?这很简单。我们通过IDEA的采访就可以知道结果。自己尝试一下,虽然很简单。
测试-仅返回值类型不同,不考虑重载
可以看到我只修改了返回值类型,IDEA就识别出了错误,这一点很受欢迎。因此,只是返回值不同,并不能视为重载。但为什么?超载的依据是什么?然后往下看
在Java中,有一种叫做方法签名的东西,它的定义如下
定义:方法声明的两个组成部分包括方法签名——方法的名称和参数类型。
大致意思是方法签名由两部分组成——方法名和参数列表
上述函数的方法签名是 hand(int a, int b)。简单来说,JVM通过方法签名来决定调用哪个方法。从方法签名的组成部分来看,返回类型并不在方法中。签名,所以当类中的方法名和参数列表相同而只是返回类型不同时,JVM无法根据方法签名确定调用哪个方法,因此会报错。
返回类型之所以不能作为方法签名,是因为程序员在调用函数时只写了方法名和参数,仍然无法区分。