【java】函数重载

摘要:
重载概念:在同一类中,允许存在多个同名函数。主要原因是它们的参数数量和参数类型不同。重载特性:它与返回值无关,但仅与参数类型和参数数量相关。示例:void bar###原始函数void bar##重载,不同的参数类型intbar##没有重载,参数类型和数字相同。!!!!

重载概念(Overloading):

在同一个类中,允许存在一个以上的同名函数,主要他们的参数个数和参数类型不同即可

重载特点:

与返回值无关,只和参数类型和参数个数有关系(重载只和参数列表有关系)

实例:

void bark(String m,double l);###原函数
void bark(int a,String n);##重载,参数类型不同
int bark(String m,double l);##不重载,参数类型和参数个数都相同。!!!!这个函数和给定函数不可以同时出现一个类中,因为调用者不知道调用的是哪个
int bark(String m,double l,int n);##重载,参数个数不同

 

 应用场景:

当定义的功能相同,但参与运算的未知内容不同时,那么就定义一个相同的函数名以表示功能,方便阅读,通过参数列表的不同来区分多个同名函数。

//例如add函数,调用者通过参数列表不同来区分哪个,要是定义为add1则不方便阅读
int  add(int x, int y)
{
   return x+y;    
}
int add (int x, int y, int z)//定义为add1,不方便阅读和管理
{
   return x+y+z;
}

 

重载函数可以相互调用:

//为了提高代码复用性,重载函数可以相互调用

public static add (int x,  int y)
{
   return x+y;  
}

public static add (int x, int y ,int z)
{
  return add(x,y)+z    ##通过2个参数调用add函数得到的值进行再次运算
}

  

免责声明:文章转载自《【java】函数重载》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Mysql批量更新的一个坑-&allowMultiQueries=true允许批量更新IPv6 ping命令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

QT父子窗口事件传递与事件过滤器(讲了一些原理,比较清楚)

处理监控系统的时候遇到问题,在MainWidget中创建多个子Widget的时候,原意是想鼠标点击先让MainWidget截获处理后再分派给子Widget去处理,但调试后发现如果子Widget重新实现了事件方法,就直接处理掉事件了,没有进到MainWidget的处理方法中去,如果子Widget没有accept或ignore该事件,则该事件就会被传递给其父亲...

Effective Modern C++:05右值引用、移动语义和完美转发

         移动语义使得编译器得以使用成本较低的移动操作,来代替成本较高的复制操作;完美转发使得人们可以撰写接收任意实参的函数模板,并将其转发到目标函数,目标函数会接收到与转发函数所接收到的完全相同的实参。右值引用是将这两个不相关的语言特性连接起来的底层语言机制,正是它使得移动语义和完美转发成了可能。 23:理解std::move和std::forw...

unordered_map的哈希HASH重载——举例unordered_map与pair联合使用

有些时候,为了图省力,我们没准会这样的调用一个函数 unordered_map< pair<int, int>, int > mp; 但是很显然的是,这样的写法是会报错的,因为pair还没有HASH键值。 error: call to implicitly-deleted default constructor of 'std::...

java中实现多态的机制是什么?

多态性是面向对象程序设计代码重用的一个重要机制,我们曾不只一次的提到Java多态性。在Java运行时多态性:继承和接口的实现一文中,我们曾详细介绍了Java实现运行时多态性的动态方法调度;今天我们再次深入Java核心,一起学习Java中多态性的实现。 “polymorphism(多态)”一词来自希腊语,意为“多种形式”。多数Java程序员把多态看作对象的一...

重载

优先级队列区别于普通队列的一点是:优先级队列如果插入的节点是结构体类型,则要在结构体中重载比较操作符函数。 优先队列默认的que插入是从大到小,所以在结构体中要重载<, struct P { int pos;//position int dis;//distance friend bool operator <(P a...

android自定义控件及自定义组合控件

一、构建自定义控件 构建自定义组件 Android中,你的应用程序程序与View类组件有着一种固定的联系,例如按钮(Button)、文本框(TextView),可编辑文本框(EditText),列表框(ListView),复选框(CheckBox),单选框(RadioButton),滚动条(Gallery),微调器(Spinner), 等等,还有一些比较先...