函数重载

✍ dations ◷ 2025-09-18 16:14:44 #多态,计算机编程

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

相关

  • 伯尔尼高地伯尔尼高地(德语:Berner Oberland)是瑞士联邦伯尔尼州位于阿尔卑斯山的部分区域,包括图恩湖和布里恩茨湖周围地区以及伯尔尼州南部地区。伯尔尼高地拥有优美的自然景观,依山傍水,
  • 约翰·迈克尔斯约翰·迈克尔·辛吉斯(英语:John Michael Higgins,1963年2月12日-)是美国的一位演员,出生在波士顿。他出演过《离婚快乐(英语:Happily Divorced)》等电视剧。
  • 网络舆论局中国人民解放军军徽中央军委政治工作部网络舆论局,位于北京市,是中央军委政治工作部下属局,负责全军网络舆论工作。在深化国防和军队改革中,2016年1月,成立中央军委政治工作部,下
  • 邢傲伟邢傲伟(1982年2月15日-)出生于山东烟台,原中国体操运动员,以鞍马成绩突出。曾获得1999年世界杯系列赛鞍马冠军,2000年奥运会男子体操团体冠军。邢傲伟出生在烟台的一个普通工人家
  • 麻州麻州,唐朝时设置的州。贞观二十二年(648年)析郎州置,治所在今云南省宣威市。属戎州。辖境相当今云南省乌蒙山南段东南,革香河流域一带。后废。
  • 凤山镇南宫凤山镇南宫,全称凤邑镇南宫仙公庙,俗称凤山仙公庙,庙址为台湾高雄市凤山区国泰路一段220号,主祀道教全真派祖师孚佑帝君。清乾隆五十三年(公元1788年)凤山县新城建后,乡民于城南郊
  • 小行星10455小行星10455(10455 Donnison)是一颗绕太阳运转的小行星,为主小行星带小行星。该小行星于1978年7月9日发现。小行星10455的轨道半长轴为2.3608472 UA,离心率为0.221。
  • 斯亨杜尔贾纳斯亨杜尔贾纳(Shendurjana),是印度马哈拉施特拉邦阿姆劳蒂县的一个城镇。总人口21081(2001年)。该地2001年总人口21081人,其中男性10909人,女性10172人;0—6岁人口2592人,其中男1307
  • 亨里克·伊万尼克亨里克·伊万尼克(英语:Henryk Iwaniec,1947年10月9日-),波兰裔美国数学家,自1987年起担任罗格斯大学教授。伊万尼克1972年获华沙大学哲学博士学位,师从安杰伊·申策尔(英语:Andrzej S
  • 查尔万卡区坐标:14°18′04″S 73°13′52″W / 14.30111°S 73.23111°W / -14.30111; -73.23111查尔万卡区(西班牙语:Distrito de Chalhuanca),是秘鲁的一个区,位于该国南部阿普里马克大区