黑马程序员技术交流社区

标题: 方法名和参数列表唯一表明某个方法? [打印本页]

作者: 黑旋风唔够威    时间: 2016-7-5 23:54
标题: 方法名和参数列表唯一表明某个方法?
有相同方法名和参数列表的都是同一方法,就算返回值类型不同?

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

作者: 657324    时间: 2016-7-5 23:55
不知道说的什么
作者: yaozhilin    时间: 2016-7-6 08:14
这个不是重载,方法名字,参数列表都相同的话,main方法调用这个方法的时候会不知道调用哪个,也不知道是不返回(void),还是返回int.编译时就会报错.
        ---------- javac ----------
dengbiansanjiaoxing.java:12: 错误: 已在类 dengbiansanjiaoxing中定义了方法 sum(int,int)
        public int sum(int a,int b){}
                   ^
1 个错误

输出完成 (耗时 0 秒) - 正常终止
作者: yaozhilin    时间: 2016-7-6 08:15
名字相同.参数列表不同的时候.main方法会根据你传入的参数.自动调用指定的方法,不会混淆.
作者: 黑旋风唔够威    时间: 2016-7-6 13:44
yaozhilin 发表于 2016-7-6 08:14
这个不是重载,方法名字,参数列表都相同的话,main方法调用这个方法的时候会不知道调用哪个,也不知道是不返回 ...

谢谢。明白了
作者: xfbyxq    时间: 2016-7-6 13:58
不是的  会编译报错
作者: anyeyyc    时间: 2016-7-6 20:31
编译报错,虚拟机不知道调用哪个方法




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2