[求助] 方法失败_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
6
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2286 | 回复: 5   主题: [求助] 方法失败        下一篇 
东西南北
注册用户
等级:少校
经验:1161
发帖:16
精华:0
注册:2015-10-10
状态:离线
发送短消息息给东西南北 加好友    发送短消息息给东西南北 发消息
发表于: IP:您无权察看 2016-2-15 15:32:39 | [全部帖] [楼主帖] 楼主

class Simple {
  public void doit(){}         #1
  
  public String doit(){        #2
    return "a";
  }
  public double doit(int x){ #3
    return 1.0;
  }
}


请问为何 #2会失败的

是不是因为所有拥有回传值的方法,都必须要有参数进入






赞(0)    操作        顶端 
一个路过的
版主
等级:中校
经验:1970
发帖:34
精华:2
注册:2015-9-2
状态:离线
发送短消息息给一个路过的 加好友    发送短消息息给一个路过的 发消息
发表于: IP:您无权察看 2016-2-15 15:45:59 | [全部帖] [楼主帖] 2  楼

12345678910class Simple {  public void doit(){}   &nbs.....

原因就是当你呼叫doit()的时候 你有办法分辨是在叫#1 or #2吗?





赞(0)    操作        顶端 
qq_hel
注册用户
等级:上士
经验:254
发帖:1
精华:0
注册:2015-12-10
状态:离线
发送短消息息给qq_hel 加好友    发送短消息息给qq_hel 发消息
发表于: IP:您无权察看 2016-2-15 15:58:19 | [全部帖] [楼主帖] 3  楼

那算是overload的情况吗?



赞(0)    操作        顶端 
东西南北
注册用户
等级:少校
经验:1161
发帖:16
精华:0
注册:2015-10-10
状态:离线
发送短消息息给东西南北 加好友    发送短消息息给东西南北 发消息
发表于: IP:您无权察看 2016-2-15 16:11:35 | [全部帖] [楼主帖] 4  楼

引用1楼东西南北的回复12345678910class Simple {  public void doit(){} &nbsp.....

一语道破,谢谢



赞(0)    操作        顶端 
东西南北
注册用户
等级:少校
经验:1161
发帖:16
精华:0
注册:2015-10-10
状态:离线
发送短消息息给东西南北 加好友    发送短消息息给东西南北 发消息
发表于: IP:您无权察看 2016-2-15 16:12:27 | [全部帖] [楼主帖] 5  楼

那算是overload的情况吗?

我最初是这样想,所以才提出问题,但我已经找到答案,这肯定不会是OVERLOAD.

 

因为java说明了,请看看:

Overloaded methods are differentiated by the number and the type of the arguments passed into the method. In the code sample, draw(String s) and draw(int i) are distinct and unique methods because they require different argument types.

 

You cannot declare more than one method with the same name and the same number and type of arguments, because the compiler cannot tell them apart.

 

The compiler does not consider return type when differentiating methods, so you cannot declare two methods with the same signature even if they have a different return type.

 




赞(0)    操作        顶端 
kenie123
注册用户
等级:少尉
经验:336
发帖:13
精华:0
注册:2015-8-5
状态:离线
发送短消息息给kenie123 加好友    发送短消息息给kenie123 发消息
发表于: IP:您无权察看 2016-2-25 16:50:58 | [全部帖] [楼主帖] 6  楼

重载就是方法名相同,参数(个数或类型)不同,与返回值无关



赞(0)    操作        顶端 
总帖数
6
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论