方法重载
方法重载是方法名称进行重用的一种技术形式,其最主要的特点为"方法名称相同,参数类型或个数不同", 在调用时会根据传递的参数类型和个数不同执行不同的方法体.
例如,sum()方法, 它可能执行2个整数的相加,也可能执行三个整数的相加,或者可能执行两个小数的相加,很明显在这样的情况下,一个方法体肯定无法满足要求, 需要为sum()方法定义多个不同的方法体,所以就需要方法重载.
代码示例
public class MethodOverLoad{
public static void main(String args[]){
int resultA = sum(10,20);
int resultB = sum(10, 20,30);
int resultC = sum(10.5, 20.3);
System.out.println("加法执行结果"+resultA);
System.out.println("加法执行结果"+resultB);
System.out.println("加法执行结果"+resultC);
}
/**
*实现两个整型数据的加法计算
*@param x 计算数字1
*@param y 计算数字2
*/
public static int sum(int x, int y){
return x+y;
}
/**
*实现三个整型数据的加法计算
*@param x 计算数字1
*@param y 计算数字2
*@param z 计算数字3
*/
public static int sun(int x,int y,int z){
return x+y+z;
}
/**
*实现两个浮点数据的加法计算
*@param x 计算数字1
*@param y 计算数字2
*/
public static int sum(double x, double y){
return (int)(x+y);
}
}
在方法重载里面没有强制性的对方法的返回值进行约束, 这意味着方法重载时返回值可以根据用户的需求自定义.例如在sum()中的返回值也可以是double.但是一旦这样定义,对于方法返回值的接收也必须有相符合的类型,这样就会造成方法调用是的混淆问题,所以考虑程序开发的标注,在进行方法重载时大多数的程序都会统一方法的返回值类型.
在Java提供的许多类库之中也都存在方法重用,如屏幕信息打印"System.out.println()"中的println()方法可以输出不同数据类型的信息,所以println()方法在JDK中实现了重载.