函数重载

✍ dations ◷ 2025-12-06 22:34:08 #多态,计算机编程

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

相关

  • 少子化少子化是指生育率降低,老人人口高达7%是高龄化社会,造成幼年人口比例逐渐减少的现象。少子化代表着未来劳动人口可能逐渐变少,对于社会结构、经济发展等各方面都会产生重大影响
  • 患者患者,又称病人、病者和病患,是指医疗服务的接受者,大多用来指罹患疾病、或身体受到创伤,而需要医生和护理人员进行治疗的人;动物如遇到相同状况,也可以患者称之。但是对于不用接受
  • 约翰·克尔约翰·克尔(英语:John Kerr FRS 1824年12月17日-1907年8月15日)是一位苏格兰物理学家、电光学先驱。为纪念他的贡献,由他发现的物质在外电场作用下光学性质发生变化的效应被称为
  • 市政厅音乐及戏剧学院Lynne Williams(校长)、 Jonathan Vaughan(副校长、音乐系主任)、 Orla O'Loughlin(副校长、戏剧系主任)、 Jeremy Newton(副校长、发展部主任)、 Ben Sumner(副校长、表演
  • 廊坊市廊坊市是中华人民共和国河北省下辖的地级市,位于河北省中部。市境北临北京市,东接天津市,南界沧州市,西达保定市。地处华北平原中北部,燕山南麓与海河流域中下游,南部为黑龙港河流
  • 瓦尔达尔河瓦尔达尔河(马其顿语:Вардар,希腊语:Αξιός),欧洲巴尔干半岛河流,干流流经北马其顿、希腊。瓦尔达尔河为马其顿最长河流。瓦尔达尔河源于北马其顿和阿尔巴尼亚边境的萨尔
  • Ubuntu发行版列表Ubuntu发行版由Ubuntu操作系统的开发者Canonical有限公司每隔半年发行,用年和月来表示版本号。例如Ubuntu发行版的第一个版本Ubuntu 4.10即发行于2004年10月20日。Ubuntu版本
  • 山芙蓉山芙蓉(学名:Hibiscus taiwanensis S.Y.Hu),别名台湾芙蓉、狗头芙蓉或三醉芙蓉、酸芙蓉,是台湾原生植物,为台湾特有种,分布在台湾中低海拔山区。属于锦葵科木槿属。与原产中国大陆
  • 拟斗牛犬蚁属拟斗牛犬蚁属()是一个罕见的蚁科属别,仅有大眼拟斗牛犬蚁()一个物种。他们生活在澳洲南方的原始尤加利树林中。拟斗牛犬蚁完整的分布范围从未被评估过,因此无从得知是否为广泛分布
  • 一点红一点红(学名:), 又名红背叶、羊蹄草、野木耳菜、花古帽(贵州)、牛奶奶、红头草(云南)、叶下红、片红青、红背果(海南)、紫背草(台湾),是菊科一点红属的热带开花物种。本种广泛分布于世界