重载概念(Overloading):
在同一个类中,允许存在一个以上的同名函数,主要他们的参数个数和参数类型不同即可
重载特点:
与返回值无关,只和参数类型和参数个数有关系(重载只和参数列表有关系)
实例:
void bark(String m,double l);###原函数 void bark(int a,String n);##重载,参数类型不同 int bark(String m,double l);##不重载,参数类型和参数个数都相同。!!!!这个函数和给定函数不可以同时出现一个类中,因为调用者不知道调用的是哪个 int bark(String m,double l,int n);##重载,参数个数不同
应用场景:
当定义的功能相同,但参与运算的未知内容不同时,那么就定义一个相同的函数名以表示功能,方便阅读,通过参数列表的不同来区分多个同名函数。
//例如add函数,调用者通过参数列表不同来区分哪个,要是定义为add1则不方便阅读 int add(int x, int y) { return x+y; } int add (int x, int y, int z)//定义为add1,不方便阅读和管理 { return x+y+z; }
重载函数可以相互调用:
//为了提高代码复用性,重载函数可以相互调用 public static add (int x, int y) { return x+y; } public static add (int x, int y ,int z) { return add(x,y)+z ##通过2个参数调用add函数得到的值进行再次运算 }