我们可以在Java中基于不同的返回类型但参数类型和数字相同的方法重载吗?
当一个类具有两个或多个具有相同名称但参数不同的方法时,在基于传递的参数进行调用时,将调用相应的方法(或相应的方法主体将与调用行动态绑定)。这种机制称为方法重载。
示例
class Test{public int division(int a, int b){
int result = a/b;
return result;
}
public double division (float a, float b){
double result = a/b;
return result;
}
}
具有相同参数和不同返回类型的重载-
不,您不能重载基于不同返回类型但Java中参数类型和数字相同的方法。
在重载中,两种方法都必须具有-
一样的名字。
不同的参数(不同的类型或不同的数字或两者兼有)。
返回类型无关紧要。如果它们没有不同的参数,则它们仍然被视为相同的方法,并且会生成编译时错误。
示例
在下面的示例中,我们尝试重载两个方法:它们具有相同的名称(分区),相同的参数(两个整数)。
class Test{public int division(int a, int b){
int result = a/b;
return result;
}
public double division (int a, int b){
double result = a/b;
return result;
}
}
编译时错误
如果尝试编译上述程序,则由于参数没有不同,因此Java编译器会将它们视为相同的方法,并产生以下错误。
OverloadingExample.java:6: error: method division(int,int) is already defined in class Testpublic static double division (int a, int b){
^
1 error
以上是 我们可以在Java中基于不同的返回类型但参数类型和数字相同的方法重载吗? 的全部内容, 来源链接: utcz.com/z/359920.html