A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 毕博 中级黑马   /  2012-4-21 01:39  /  2619 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

两个参数的列表个数和类型一样返回值不一样 ,为什么不叫重载?

8 个回复

倒序浏览
方法名必须相同
方法参数类型、个数至少有一项不同
方法的返回类型可以不相同
方法的修饰符可以不相同
如果方法里有参数,比如public int show(int a,double b){
return (a+b);
}
public int show(double b,int a){
return (a+b);
}
参数顺序不同,也成立,不在乎返回值类型

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
在Java 中,同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。
在这种情况下,该方法就被称为重载(overloaded )。

重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同
也可以不相同。不能以返回值作为重载函数的区分标准。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
假如一个类Demo中有两个方法public int show(int a,int,b)  和public void show(int a,int b),当创建这个类的对象Demo d = new Demo,调用show方法 d.show(),这时会不知道调用哪个方法,因为类中有两个名字一样,返回值不一样的show方法
回复 使用道具 举报
方法重载 (Overload)。表示两个或多个方法名字相同,但方法参数不同。方法参数不同有两层含义:
1)参数个数不同。
2)参数类型不同。注意:方法的返回值对重载没有任何影响。

回复 使用道具 举报
重载,在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。简单的说,一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。
如果它们的返回值类型不相同而参数相同,当你在调用这个函数时,对象无法确定到底要调用返回值是那个类型的函数,就会出错。希望可以帮到你
回复 使用道具 举报
返回值不是作为判断是否重载的依据
回复 使用道具 举报
调用一个方法时可以不定义返回结果变量,
如果该类中有两个名称和参数列表完全相同
的方法,仅仅是返回类型不同,java就无法
确定倒底是想调用哪个方法
回复 使用道具 举报
张超超 黑马帝 2012-4-21 15:19:37
9#
两个参数的列表个数和类型一样,而参数的顺序不一样,返回值不一样同样可以成为重载。

你应该理解重载的定义,很多事情就是那么规定的,就像是java编程语言叫java而不叫hello呢,这个不能计较。
在Java 中,同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同(参数个数,参数类型,参数顺序)即可。在这种情况下,该方法就被称为重载(overloaded ),这个过程称为方法重载(method overloading )。方法重载是Java 实现多态性的一种方式。


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马