方法名和参数列表唯一标识某个方法?

DouDouLee_blog 2016-07-05 02:46:08
方法名和参数列表唯一标识某个方法?

看到《Thingking in java》中这样写,那么照这样的话,有相同方法名和参数列表的都是同一方法,就算返回值类型不同?

例如public void add(int a, int b){}和public int add(int a,int b)是同一方法?

Any answer is appreciated.
...全文
152 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
安静的蛐蛐 2016-07-06
  • 打赏
  • 举报
回复
方法名和参数列表相同的两个方法是同一个方法,当在同一个类中时会报duplicate method重复方法的错误,当出现在父子类中时会报incompatiple不相容的错误。解决,同一个类中时可以改为重载,使方法名相同,参数列表不同;父子类中时可以改为重写,使之返回值,方法名,参数列表相同。
公子寻欢 2016-07-05
  • 打赏
  • 举报
回复
在一个类中,方法名和参数列表会唯一的标识一个方法 只有这样,才能确保反射得到的是确定的一个方法:clazz.getMethod("add",int.class,int.class); 像你写的那种返回值不同的两个方法是不可以在同一个类中存在的,编译就不会通过
DouDouLee_blog 2016-07-05
  • 打赏
  • 举报
回复
天,我竟然没发现。试了一下还真是
qq_15915835 2016-07-05
  • 打赏
  • 举报
回复
是。实际上你在一个class 里面是不能同时写这两个方法的的,编译不过

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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