【java】函数重载

重载概念(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函数得到的值进行再次运算
}

  

原文地址:https://www.cnblogs.com/paulwinflo/p/7805524.html