首页 > 编程笔记 > Java笔记 阅读:8

Java中的方法重载(附带实例)

在 Java 程序中,重写方法是在父子类之间进行的,而重载方法则是在同一个类里进行的。如果在一个类中存在多个名称相同而参数不同的方法,那么这种情况就是方法重载(overload),其中注意返回值类型不作为重载的判断依据。

下面是方法重载的例子:
public class Adder {
    static int add(int a, int b) {
        return a + b;
    }
      
    static int add(int a, int b, int c) {
        return a + b + c;
    }
       
    static double add(double a, double b) {
        return a + b;
    }
    
    static float add(float a, float b, float c) {
        return a + b + c;
    }
    
    public static void main(String[] args) {
        System.out.println(Adder.add(10, 10));
        System.out.println(Adder.add(10, 10, 10));
        System.out.println(Adder.add(10.0, 10.0));
        System.out.println(Adder.add(10f, 10f, 10f));
    }
}
可以看到我们定义了三个名称都为 add() 的方法,这些方法的参数列表必须不同,否则会导致编译错误。它们都用来执行加法操作,不同的地方在于传入的参数类型或数量不同。在主方法中,我们传入不同的参数时就会调用对应参数匹配的 add() 方法,最终输出分别为“20”“30”“20.0”和“30.0”。

根据上面的学习我们明白了如何进行方法重载,总结起来重载需要满足的条件如下:
Java 为什么需要重载呢?方法重载的最大作用就是可以根据参数来区分若干同名的方法,这些同名的方法都是功能相同或者类似的,如果给它们分别取名则会非常繁杂且耗费精力,同时也降低了程序的可读性。

比如前面的 Adder 类,如果不使用方法重载则需要为每个方法都分别取一个名字,例如“addByTowInt”“addByThreeInt”以及“addByTowDouble”之类的。

相关文章