函数重载

✍ dations ◷ 2025-08-02 20:49:02 #多态,计算机编程

函数重载(英语:function overloading),是Ada、C++、C#、D和Java等编程语言中具有的一项特性,这项特性允许创建数项名称相同但输入输出类型或个数不同的子程序,它可以简单地称为一个单独功能可以执行多项任务的能力。

Java支持函数重载。当多个同名函数的形式参数的数据类型不同或数量不同时,就构成了函数的重载。

 1 public class Test{ 2     public void A(){                //这是一个无形式参数名称为A的函数。 3          4     } 5     public void A(int a){           //这个函数有一个数据类型为int的函数,函数数目不同,故构成重载。 6          7     } 8     public void A(String a){        //这个函数数据类型为String,形式参数的数据类型不同,故构成重载。 9         10     }11     public void A(int a,int b){     //这个函数有两个形式参数,故构成重载。12         13     }14     public int A(int a,String b){    //这个函数的第二个形式参数的数据类型与上一个函数的数据类型不同,故构成重载。15         /*16         重载的函数的返回值可以不同,但是如果两个或多个函数只有返回值不同,不足以构成重载。17         */18     }19 }

构造器重载

Java

Java中的构造器可以重载,重载方式与普通函数的重载方法一样,唯一不同的就是返回值不可以更改。

对于名字屏蔽(英语:name masking),C++规定不存在跨作用域(scope)的名字重载。即内层作用域的函数名字将屏蔽掉外层作用域的同名函数名字。

C++子类型的成员函数名将屏蔽其基类型的同名成员函数名,即被继承类与派生类的同名成员函数名不构成函数名重载。除非在子类型中用using关键字显式引入基类型的成员函数名。

相关

  • X射线X射线(英语:X-ray),又被称为爱克斯射线、艾克斯射线、伦琴射线或X光,是一种波长范围在0.01纳米到10纳米之间(对应频率范围30 PHz到30EHz)的电磁辐射形式。X射线最初用于医学成像诊
  • 视丘丘脑(英文:thalamus)是间脑的一个主要解剖结构。本条目主要着眼于人类丘脑,和其他非人类的灵长目动物及其它动物可能有细微的差别。人类的丘脑基本上是两个球形的结构,各长约5
  • 马格德堡马格德堡(Magdeburg)位于易北河畔,是德国萨克森-安哈尔特州的首府,它是本州仅次于哈雷的第二大城市,也是本州三个无属县城市之一。马格德堡是基督教和天主教的主教教区首邑,拥有两
  • 卡蒂娅·里曼卡嘉·汉兴·莱妮·瑞曼(德语:Katja Hannchen Leni Riemann;1963年11月1日-),是一名德国一代艳星威尼斯影后女演员,著名电影如《该死的歌德》及《吸特乐回来了》等。此外,她还曾经与
  • 禹余粮褐铁矿(Limonite)是一种常见的铁矿,常形成于铁矿床的氧化带中,多以次生矿形态存在。也经常因沉积作用生成于河床、海床、沼泽中。不会形成晶体结构,通常为结核状、乳状、土块状出
  • 金盘公司金盘公司,是中国大陆的一家游戏相关的公司,于1992年成立,1998年被合并。金盘公司成立于1992年,是中国大陆第一家电子图书开发研制公司。1994年10月,金盘公司出版了中国大陆第一张
  • 人类多地起源说现代人类多区域起源说(Multiregional origin of modern humans,又译多地起源说)是一个用来解释人类演化的科学模型。该学说的现代版本称为多地进化(英语:multiregional evolution
  • 萨波潘坐标:20°40′19″N 103°24′59″W / 20.6719563°N 103.416501°W / 20.6719563; -103.416501萨波潘(西班牙语:Zapopan)是墨西哥哈利斯科州的一座城市,人口约103万(2005年),是该州
  • 本·戈登本杰明·阿什纳菲·“本”·戈登(英语:Benjamin Ashenafi "Ben" Gordon,1983年4月4日-),生于英国伦敦,英国裔职业篮球运动员,司职得分后卫。在进入NBA之前,戈登就率领康涅狄格大学获
  • 磐梯町磐梯町(日语:磐梯町/ばんだいまち  */?)是位于福岛县耶麻郡的一町。