Java中重载的作用?
重载定义:一个类中如果有多个同名方法但带有不同的参数列表,称为方法重载(Overload)。
重载方法的参数列表不同是指参数的数据类型或个数或次序不同。
重载方法之间必须以参数列表相区别,不能以返回值相区别,即不能有两个参数列表相同但返回值不同的重载方法。
例如,java.lang.Math数学类中有以下多个重载的abs()方法返回参数x的绝对值,参数类型不同,返回值类型同参数类型。
int abs(int x)
long abs(long x)
float abs(float x)
double abs(float x)
虽然Math.abs()方法有多种声明形式,但都表示相同含义,这就是重载的价值所在,为一个功能提供多种实现形式。程序运行时,究竟执行重载方法中哪一个,取决于调用该方法的实际参数列表的数据类型,个数和次序。系统执行时调用与形式参数列表相匹配的重载方法。为了程序的可读性,最好重载相同含义的方法。
print()方法的参数允许是任意基本数据类型,就是重载了print()方法,部分声明如下:
public void print(boolean b)
public void print(char ch)
public void print(int i)
public void print(double x)
Java的方法声明没有参数默认值,避免二义性。需要默认值的方法可重载。
摘自Java程序设计实用教程(第5版 叶核亚 编著)p51