方法重载
1.什么是方法重载:方法重载(Method Overloading)是 Java 中一项重要的特性,它允许在同一个类里定义多个名字相同但参数列表不同的方法。借助方法重载,能够让代码更加清晰且易于理解。
2.若要实现方法重载,需满足以下条件:
- 方法名必须一样。
- 方法的参数列表必须不同,这里的不同包括参数的类型、数量或者顺序。
- 方法的返回类型、访问修饰符以及抛出的异常可以相同,也可以不同,但仅仅这些方面不同是不能构成方法重载的。
例如:
public static int max(double num1,double num2){
int result = 1;//初始化,可以填任意值,不非得填0
if (num1 == num2){
System.out.println("num1 == num2");
return 0; //终止方法
}
if (num1 > num2){
result = (int)num1;
}else {
result = (int)num2;
}
return result;
}
}
虽然定义的参数列表值为double,但返回值也可以强制为int。
3.实现理论:方法名相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。
4.综合示例:
package com.xxxx.method;
public class Demo03 {
public static void main(String[] args) {
double add = add(10, 20.0);
System.out.println(add); //输出结果:30.0
}
public static int add(int a, int b){ //两整数相加
return a+b;
}
public static int add(int a, int b, int c){ //三整数相加
return a+b+c;
}
public static double add(double a, double b){ //两个浮点数相加,强制转换成int类型
return (int)(a+b);
}
//整数与浮点数相加
public static double add(int a, double b){ //参数里必须有一个是double,不然会报错,声明的返回值类型与实际的返回值类型不匹配。
return a+b;
}
public static double add(double a, int b){ //整数与浮点数相加,但参数顺序不同
return a+b;
}
}