方法重载是方法名称进行重用的一种技术形式,其最主要的特点是 “方法名称相同,参数的类型或个数不同”,在调用时就会根据传递参数类型和个数的不同执行不同的方法体。
例71:定义方法重载
public class JavaDemo066 {
public static void main(String[] args) {
int resultA = sum(10, 20);// 调用2个 int参数的方法
int resultB = sum(10, 20, 30);// 调用3个 int参数的方法
int resultC = sum(11.2, 25.3);// 调用2个 double参数的方法
System.out.println("计算结果:" + resultA);
System.out.println("计算结果:" + resultB);
System.out.println("计算结果:" + resultC);
}
/**
* 实现2个整数数据的加法计算
*
* @param x 计算数字1
* @param y 计算数字2
* @return 加法计算结果
*/
public static int sum(int x, int y) {
return x + y;
}
/**
* 实现3个整数数据的加法计算
*
* @param x 计算数字1
* @param y 计算数字2
* @param z 计算数字3
* @return 加法计算结果
*/
public static int sum(int x, int y, int z) {
return x + y + z;
}
/**
* 实现2个浮点数据的加法计算
*
* @param x 计算数字1
* @param y 计算数字2
* @return 加法计算结果,去掉小数点
*/
public static int sum(double x, double y) {
return (int) (x + y);
}
}
方法重载时考虑到标准性一般都建议统一返回值类型。
重载的时候并没有强制要求返回值的类型进行约束,但调用的时候会出现混淆。
例72:观察输出操作的重载实现
public class JavaDemo067 {
public static void main(String[] args) {
System.out.println("Hello");// 输出 String
System.out.println(1);// 输出 int
System.out.println(10.2);// 输出 double
System.out.println('A');// 输出 char
System.out.println(false);// 输出 boolean
}
}