函数重载

✍ dations ◷ 2025-02-23 19:45:46 #多态,计算机编程

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

相关

  • 阿努比斯阿努比斯(古希腊语:Ἄνουβις)是埃及神话中一位与木乃伊制作与死后生活有关的胡狼头神。阿努比斯其实是个古希腊语的名字,而根据阿马尔奈文书中的阿卡德语译文,他的名字在埃
  • 洪泛平原河漫滩,又称泛滥平原或洪泛平原,通常位于河流中下游,指由于河流堆积作用而形成的大片堆积体,是河流堆积地貌的一种。常在在枯水季节露出水面,在丰水季节又常被淹没。河漫滩一旦形
  • 野尻霉素野尻霉素(英语:Nojirimycin)是一些链霉菌产生的5-氨基-5-脱氧-D-葡萄糖,为一种抗生素。形成吡喃环后,和葡萄吡喃糖相似,可以作为肠α-葡糖苷酶、胰α-淀粉酶,以及N-糖链加工中的α
  • 旅大市 (1950–1954)旅大市,中华人民共和国一个已经撤销的行政区。取旅顺、大连各一字得名。1950年12月1日至1954年8月1日期间为省级行政区,之后为辽宁省所辖地级市。1950年12月1日,原旅大行署区与
  • OTT有多种概念的缩写为OTT
  • 刘锴刘锴(1907年5月27日-1991年2月12日)字亦锴,籍贯广东中山,中华民国外交官。刘锴曾就读于牛津大学,历任外交部常务次长、驻加拿大大使、驻联合国常任代表。1947年5月5日,国民政府派刘
  • 基督战争基督战争(1926-1929年)(英语:Cristero War,西班牙语:Guerra Cristera、La Critiada)是一场反抗墨西哥政府施行1917年宪法中世俗主义、反天主教、反教权主义的大规模抗争。墨西哥
  • 高雄市楠梓区油厂国民小学高雄市楠梓区油厂国民小学(英语:Kaohsiung Oil Refinery Elementary School),简称油厂国小。为一间位于高雄市楠梓区的国民小学,成立于1947年,紧邻著捷运油厂国小站。高雄市立油厂
  • 东非战役 (第一次世界大战) 英国 比利时 葡萄牙 德意志帝国 22,000人 11,189名士兵战死 95,000名搬运工死亡 5,000人 2,620名士兵战死 15,650名搬运工死亡 12,000人以上 5,533名士兵战死 5,640
  • 布列塔尼继承战争布列塔尼继承战争(英语:War of the Breton Succession 法语:Guerre de Succession de Bretagne)发生于1341年到1365年间。是布卢瓦家族和蒙福尔家族为争夺布列塔尼公国继承权而