方法的返回类型不同,算不算重载

qiutian1990 2012-09-04 10:31:04
搞混了,弄不清楚了
...全文
4028 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
wawaandroid 2012-09-05
  • 打赏
  • 举报
回复 1
直观的理解,方法名相同的多个方法,调用方法的时候能让编译器知道你调的是哪个方法,就是重载,那你想啊,我调一个方法,名字相同,返回值调的时候又看不到,肯定不是重载了,只能是参数列表不同了
安特矮油 2012-09-05
  • 打赏
  • 举报
回复
自己好好去看看重载的定义你就一目了然了
道秋adol 2012-09-05
  • 打赏
  • 举报
回复
不算重载,重载:
(1)方法名一样
(2)参数不一样(个数,顺序,类型)
(3)参数名称和重载无关
(4)返回值和重载无关
Ada168855 2012-09-05
  • 打赏
  • 举报
回复
方法重载是不考虑方法返回类型和参数名称的。比如以下:
1. public void aMethod(int a,int b){}
2. public String aMethod(String b,String c){}
3. public int aMethod(int b,int c){}

上面的三个方法中,1和2是方法重载,2和3是方法重载,而1和3不是方法重载


有些问题需要自己去解决,给你提个建议就是:百度和google是咱们最好的老师,因为你可以很快地去找自己想要的答案,在论坛上面问这种问题速度太慢。并且论坛上面有些回答也不一定具有信服力
2399 2012-09-05
  • 打赏
  • 举报
回复
额。。。。。
K_Key 2012-09-05
  • 打赏
  • 举报
回复
不算重载,如果方法参数相同,那么仅靠返回类型的不同是不能算重载的。
memoryshy 2012-09-05
  • 打赏
  • 举报
回复
不算,重载是方法同名参数不同,跟返回类型无关,因为如果jvm不用它的返回类型,就不知道要要调用哪一个
newteddy 2012-09-05
  • 打赏
  • 举报
回复
不算,参数不同是重载,包括参数个数和类型,返回类型不同的同名方法,编译期间就会报错
scbb 2012-09-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

自动售货机

1,2,5,10面值的纸币还有硬币 有不同的入口 这叫重载

但出货口就一个
[/Quote]

不算 +1
  • 打赏
  • 举报
回复
之前我也很纠结这个问题,比较乱,闲着没事给你抄书吧

think in java (四版)
5.2.3 以返回值区分重载方法

读者可能会想:“在区分重载方法的时候,为什么只能以类名和方法的参数列表作为标准呢?能否考虑用方法的返回值来区分?”
比如下面两个方法,虽然它们有同样的名字和形式参数,但却很容易区分他们:
void f(){}
it f(){return 1;}

只要编译器可以根据语境明确判断出语义,比如在int x=f()中,那么的确可以据此区分重载方法。不过,有时你并不关心方法的返回值,你想要的是方法调用的其他效果(这常被称作为“为了副作用而调用”),这时你可能会调用方法而忽略其返回值。所以,如果像下面这样调用方法:
f();
此时Java如何才能判断该调用那一个f()呢?别人该如何理解这中代码呢?
因此 ,根据方法的返回值来区分重载方法是行不通的。
ak4755 2012-09-05
  • 打赏
  • 举报
回复
返回值不同,则说明与函数的参数类型不同,算重载!!!!
xiars123 2012-09-05
  • 打赏
  • 举报
回复
重载与返回类型没有关系,只与参数有关。参数的类型不同,数量不同,顺序不同,才叫重载。
aikaibo 2012-09-05
  • 打赏
  • 举报
回复
这要看情况了
1.如果方法的参数个数和类型相同 而返回值不同的话编译就会报错 因为有时候不需要考虑到方法的返回值
比如 map.remove(key) 它返回的是移除的那个key对应的value 我们有时候并不需要它
所以java虚拟机就不知道要调用哪个方法了
2.方法参数个数不同 返回值当然可以不一样了.
问苍茫大地 2012-09-04
  • 打赏
  • 举报
回复
重载返回值可以相同也可以不同,关键看参数列表。
我为JAVA狂 2012-09-04
  • 打赏
  • 举报
回复
不算,重载只是参数发生变化
结贴是美德 2012-09-04
  • 打赏
  • 举报
回复
不算,因为有时候我们不用他的返回值,jvm就看不出来到底该调用哪个了。
张某码 2012-09-04
  • 打赏
  • 举报
回复
直接拿到编译器里面看看能不能编译通过就能说明问题了,自己去捣鼓印象更深刻。
sjlzcj 2012-09-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
看了重载的定义了没,他要求是一个类中的,参数的个数及其类型不一样的,所以,算重载。!!!
[/Quote]

参数类型,和返回类型有屁关系,,,
wonkju 2012-09-04
  • 打赏
  • 举报
回复
看了重载的定义了没,他要求是一个类中的,参数的个数及其类型不一样的,所以,算重载。!!!
sjlzcj 2012-09-04
  • 打赏
  • 举报
回复
自动售货机

1,2,5,10面值的纸币还有硬币 有不同的入口 这叫重载

但出货口就一个

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧