-
方法名称必须相同
-
参数列表必须不同 (个数不同,类型不同,排序顺序不同)
-
方法的返回类型不同
-
仅仅是方法的返回类型不同 不足以构成重载条件
我们一个类里面会有许多方法,而一个方法实现多个功能在后期管理时或许不容易调优。此时我们使用方法重载,使之同样的方法 却实现不同的功能,而选择 则是交给JVM虚拟机来决定
如:此时我们类中有两个方法
public static int add(int a, int b) {
return a + b;
}
public static double add(double a, double b) {
return a + b;
}
这两个方法名字相同 返回值类型不同 一个是int类型 一个是double类型
那我们如何知道 JVM 是怎么选择的呢
public static void main(String[] args) {
int m = add(1, 2);
System.out.println(m);
}
此时我们主函数中 调用了add方法,当方法名称相同时,也就是重载的情况下 ,编译器会根据调用方法的:参数个数、参数类型,等逐个去匹配,以选择对应的方法,如果匹配失效,则会报错。



