社区
Java SE
帖子详情
方法的返回类型不同,算不算重载
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
我就要雨中漫步
2012-09-05
打赏
举报
回复
之前我也很纠结这个问题,比较乱,闲着没事给你抄书吧
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面值的纸币还有硬币 有不同的入口 这叫重载
但出货口就一个
重载
是什么?只有
返回
值
类型
不同
算不算
重载
?为什么?
首先,
重载
,从简单说,就是函数或者
方法
有相同的函数名,但是参数列表不相同的情形,这样的同名
不同
参数的函数或者
方法
之间,互相称之为
重载
函数或者
重载
方法
,例子如下:
重载
但从定义上来说是很好理解的,我们接着说下一个问题,只有
返回
值
不同
的函数
算不算
重载
呢?这个简单 我们在IDEA里面试一下就能知道结果,自己去试一下哦,虽然很简单。
返回
值
类型
不同
的同名
方法
不算
重载
!!!
Java
方法
只有
返回
值
类型
不同
算不算
重载
? 答:只有
返回
值
类型
不同
的
方法
不算
重载
编译的时候直接报
方法
名重复错,如图:
Java
方法
只有
返回
值
类型
不同
算不算
重载
?
关于
方法
重载
的介绍网上有很多,在此仅强调一点,只有
返回
值
类型
不同
的
方法
不算
重载
,编译的时候直接报
方法
名重复错。
java面试题
返回
值
类型
不同
,可以
重载
吗,为什么?
重载
,表示同一个类中可以有多个名称相同的
方法
,但这些
方法
的参数
类型
不同
、个数
不同
、顺序
不同
,
方法
返回
值和访问修饰符可以
不同
。 所以,参数
类型
,个数,顺序相同,
返回
值
类型
不同
,不是
重载
。 编译器肯定也会直接报错的。 那么为什么? 试想一下,有如下两个
方法
public void load(String a){ } public int load(String a){ } 如果我通过以下的方式调用,能知道我想要调用哪个
方法
吗? load(""); 肯定是不能的。可能是调用没有
返回
值的那个,也有可能是.
方法
重载
与重写,
返回
类型
重载
和重写的博客已经够多了,这里我们讨论一下他们的
返回
类型
。重写: 首先是类的不能存在两个完全相同构造
方法
(同时不能以
返回
类型
来
重载
方法
相信大家都是知道滴)类中的普通成员
方法
可以和构造
方法
重名(大小写一致都不是问题),但是必须要有
返回
数据
类型
(
返回
void也可以)。也就是说构造
方法
是不能自己
返回
类型
的,默认
返回
实例对象。重写的
方法
返回
类型
可以改变,但
返回
类型
必须是父类的子
类型
下面这种是符合要...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章