Java中的方法重载(附带实例)
在 Java 程序中,重写方法是在父子类之间进行的,而重载方法则是在同一个类里进行的。如果在一个类中存在多个名称相同而参数不同的方法,那么这种情况就是方法重载(overload),其中注意返回值类型不作为重载的判断依据。
下面是方法重载的例子:
根据上面的学习我们明白了如何进行方法重载,总结起来重载需要满足的条件如下:
Java 为什么需要重载呢?方法重载的最大作用就是可以根据参数来区分若干同名的方法,这些同名的方法都是功能相同或者类似的,如果给它们分别取名则会非常繁杂且耗费精力,同时也降低了程序的可读性。
比如前面的 Adder 类,如果不使用方法重载则需要为每个方法都分别取一个名字,例如“addByTowInt”“addByThreeInt”以及“addByTowDouble”之类的。
下面是方法重载的例子:
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”之类的。