函数重载

✍ dations ◷ 2025-12-07 15:05:38 #多态,计算机编程

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

相关

  • 缬更昔洛韦缬更昔洛韦(英语:Valganciclovir),是一款抗病毒药物,用以治疗因艾滋病或器官移植造成巨细胞病毒感染,代表性的药品品名为 Valcyte 。本品只能压制感染,无法治愈,需长期使用。此药是
  • 病毒粒子一个位于宿主细胞之外的独立、功能完全的病毒颗粒一些病毒拥有的包裹病毒体的脂肪泡一段DNA或RNA。如果把核苷酸比作字的话,那么基因就是由核苷酸写成的句子。基因会指导病毒
  • 滕吉文滕吉文(1934年3月14日-),中国地球物理学家。出生于黑龙江哈尔滨。籍贯河北黄骅。1956年毕业于东北地质学院(现吉林大学)地球物理系。1962年获苏联科学院大地物理研究所物理—数学
  • 炮舰外交炮舰外交(Gunboat diplomacy),国际政治用语,指强权通过展示自身武力,迫使他国接受其要求的外交政策。炮舰外交一词源于帝国主义时期,当时,欧洲强权通过展示自身武力,威胁其他国家与
  • 塞阔雅塞阔雅县(英语:Sequoyah County)是美国俄克拉荷马州东部的一个县,东邻阿肯色州,面积1,852平方公里。根据美国2000年人口普查,本县共有人口38,972人。本县县治为萨利索(Sallisaw)。本
  • 圣但尼门圣但尼门(Porte Saint-Denis)是一座法国凯旋门,位于巴黎第十区圣但尼郊区街附近。圣但尼门原址是查理五世城墙城门之一,它曾是巴黎的防御工事。圣但尼门是由建筑师弗朗索瓦·布
  • 多里斯·米勒第二次世界大战多里斯·“多里”·米勒(英语:Doris "Dorie" Miller,1919年10月12日-1943年11月24日)是美国海军的一位非裔美国人厨师,1941年12月7日的珍珠港事件中的英雄。他还是
  • 王振纲王振纲(1808年-1878年),字重三,直隶新城县(今河北省高碑店市)泗庄镇邓庄村人。晚清进士、学者。道光十八年(1838年)中式戊戌科进士,但归家不仕,躬耕养亲,曾任保定莲池书院山长。王振纲涉
  • 速水守久速水守久(生年不详 - 1615年6月4日),安土桃山时代及江户时代初期的武将、大名。丰臣氏的家臣。幼名胜太。通称少太夫。名字为时久、种久、时之、种之等等。甲斐守。祖父为速水
  • HTC ChaChaHTC ChaCha(又被称为 HTC Chachacha / HTC Status),是一款 HTC 于2011年2月在 MWC 2011 上推出的 Android 智能手机。HTC ChaCha 是一台社交手机,它拥有一个 Facebook 的专用按