Java方法的重载只和方法名和形参列表有关。
方法名一样
形参列表:值得个数不一样,值的类型不一样,类型一样位置不一样
只要满足了三个当中的一个都是方法的重载。
详细代码如下
public class 方法重载 {
public static void main(String[] args) {
System.out.println(add(10,21));
}
public static int add(int num1,int num2){
return num1+num2;
}
public static int add(int num1,int num2 ,int num3){
return num1+num2+num3;
}
public static double add(int num1,int num2 ,int num3,int num4){
return num1+num2+num3+num4;
}
public static double add(int num1,double num2){
return num1+num2;
}
public static double add(double num1,int num2){
return num1+num2;
}
}
重载用来解决同一个函数名可以接受不同数据类型、不同个数参数的情况
方法重载高级
方法名称一样,形参列表中个数一样但是类型不同,会根据传递数据的类型来决定执行那个方法。如果没有符合的类型数据遵循一下顺序:
低 byte--->short--->char----->int------>long----->float------>dobule 高
高能兼容低,但是低不能加载高
详细代码为
public static void show(byte num1){
System.out.println("----------1");
}
public static void show(short num1){
System.out.println("----------2");
}
public static void show(char num1){
System.out.println("----------3");
}
public static void show(int num1){
System.out.println("----------4");
}
public static void show(long num1){
System.out.println("----------5");
}
public static void show(float num1){
System.out.println("----------6");
}
public static void show(double num1){
System.out.println("----------6");
}