函数重载

✍ dations ◷ 2025-12-05 23:25:13 #多态,计算机编程

函数重载(英语: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关键字显式引入基类型的成员函数名。

相关

  • 圣殿骑士团圣殿骑士团(法语:Ordre du Temple),或神庙骑士团,正式全名为“基督和所罗门圣殿的贫苦骑士团”(拉丁语:Pauperes commilitones Christi Templique Solomonici),是存在于中世纪的天主
  • 菲尼克斯群岛菲尼克斯群岛(Phoenix Islands),是基里巴斯三大主要岛群之一,位于吉尔伯特群岛以东、莱恩群岛以西。1930年代时英国一度计划开发此群岛,但未付诸实施。后美国也曾对此岛提出过领
  • 超焦距景深(英语:Depth of field, DOF)景深是指相机对焦点前后相对清晰的成像范围。在光学中,尤其是录影或是摄影,是一个描述在空间中,可以清楚成像的距离范围。虽然透镜只能够将光聚到
  • 南锥体南锥体(西班牙语:Cono Sur, 葡萄牙语:Cone Sul)指的是南美洲位于南回归线以南的地区。一般人们所说的南锥体包括了阿根廷、智利和乌拉圭三个国家。有时也会包括巴拉圭和巴西的南
  • 美国国家公路交通安全管理局美国国家公路交通安全管理局(NHTSA, National Highway Traffic Safety Administration),是美国运输部下的一个执行机构,成立于美国华盛顿特区,其宗旨是“保护生命、防止伤害,减少
  • 联邦直辖区联邦直辖区(马来语:Wilayah Persekutuan, 英语:Federal Territory)是马来西亚由联邦政府管辖的一级行政区,由吉隆坡、纳闽、布城三个地区组成。吉隆坡联邦直辖区于1974年成立;纳闽
  • 约翰逊县 (艾奥瓦州)约翰逊县(Johnson County, Iowa)是美国爱阿华州东部的一个县。面积1,614平方公里。根据美国2000年人口普查,共有人口111,006人。县治爱阿华城 (Iowa City)。成立于1837年。县名
  • 威廉·亚当 (建筑师)威廉·亚当(William Adam,1689年10月 – 1748年6月24日)是一位苏格兰建筑师和商人,生前是苏格兰著名的建筑师之一。 他有时担任建筑师,有时也当独立承包商。他设计建造的建筑多属
  • 前导实验前导实验(pilot experiment)、前导研究(pilot study)或试点研究,是在正式大型研究计划开始前,为了评估可行性、时间、成本、负面影响,因此事先进行的小型实验或研究,其结果也可以改
  • 前奏曲Op.28, No. 24 (萧邦)前奏曲Op. 28, No. 24为萧邦24首前奏曲中的乐曲,为D小调,充满热情的快板(Allegro appassionato),6/8拍。起初左手以重复五个响亮的音作引子,并以固定低音形式一直持续到接近结尾