先不用方法重载,写个程序,分析程序存在的缺点
public class Test { public static void main(String[] args) { //调用方法 int result1=sumInt(1,2); System.out.println(result1); double result2=sumDouble(1.0,2.0); System.out.println(result2); long result3=sumLong(1L,2L); System.out.println(result3); } //定义一个方法,可以计算两个int类型数据的和 public static int sumInt(int a,int b){ return a+b; } //定义一个方法,可以计算两个double类型数据的和 public static double sumDouble(double a,double b){ return a+b; } //定义一个方法,可以计算两个long类型数据的和 public static long sumLong(long a,long b){ return a+b; } }
运行结果如下图
虽然上面代码运行没问题,但是实际来说,上面代码非常不方便,实现三个相似的功能,但是却要记三个方法名,然后调用三个不同的方法,而且代码不美观.
所以有一种机制,使用这些方法(功能相似)就像使用一个同一个方法一样,不需要记忆更多的方法名,编写代码比较方便且美观一方法重载.