首先给出一个实例
1 package practice3; 2 3 4 public class TryOverLoad { 5 public static void main(String[] args) { 6 System.out.println(add(10,15));//调用第一个add 7 System.out.println(add(10,15,20));//调用第二个add 8 System.out.println(add(10.5,15));//调用第三个add 9 } 10 public static int add(int n1,int n2) { 11 int sum=n1+n2; 12 return sum; 13 } 14 public static int add(int n1,int n2,int n3) { 15 int sum=n1+n2+n3; 16 return sum; 17 } 18 public static double add(double n1,int n2) { 19 double sum=n1+n2; 20 return sum; 21 } 22 23 }
package practice3; public class TryOverLoad { public static void main(String[] args) { System.out.println(add(10,15));//调用第一个add System.out.println(add(10,15,20));//调用第二个add System.out.println(add(10.5,15));//调用第三个add } public static int add(int n1,int n2) { int sum=n1+n2; return sum; } public static int add(int n1,int n2,int n3) { int sum=n1+n2+n3; return sum; } public static double add(double n1,int n2) { double sum=n1+n2; return sum; } }
我们看到,根据我们给的数据类型不一样,虽然调用的是同名方法,但Java会自动匹配去调用哪个具体方法,以上三种均构成重载。
原文:https://www.cnblogs.com/ByTwo/p/11971576.html