黑马程序员技术交流社区

标题: 求大神给指点迷津 [打印本页]

作者: yezilail    时间: 2016-7-28 20:02
标题: 求大神给指点迷津
方法的重载这里今天刚学,觉得特别难理解,我还是不是很明老师讲课方法的重载,可是我还是不是很明白。哪位大神可以结合代码给我讲解一下白
作者: 李铮    时间: 2016-7-28 20:30
类名相同但是参数列表不同,与返回值无关.
作者: xiaobokk    时间: 2016-7-28 21:04
首先,要知道为什么会有函数重载的这个概念.因为你要实现同样的一个功能不需要写两个函数了,通过一个函数就可以搞定,而且也不用过多的记忆多余的函数名.
例如:
[Java] 纯文本查看 复制代码
class Swap {
        public static void main(String[] args){
                //求两个数之和
                System.out.println(sum(10,20));
                //求三个数之和
                System.out.println(sum(1,2,3));
               
        }

        public static int sum(int a,int b,int c){                //求取两个数据之和,整形的
                return a+b+c;
        }
        public static int sum(int a,int b){                //求取两个数据之和,整形的
                return a+b;
        }

        //错误:已在类 Swap中定义了方法 sum(int,int)
        /* public static double sum(int a,int b){       
                 return a+b;
        }
        */
}

比如说求和的一个函数,Java语言允许你通过函数名调用该方法,但是你传入的数据个数不一样的话,调用方法,但是你都是调用的sum函数,在这里是比较人性化的.
值得注意的有两点:①方法的重载只与参数列表(数据类型,参数的个数)有关
②方法的重载与返回值类型无关,也就是说参数列表相同,而返回值类型不同的同名函数,会报错误

有几个注意的点吧:
类名相同,参数列表不同(参数个数,参数数据类型),与返回值类型无关

第一次发帖有点紧张
2016年7月28日21:03:05
作者: MayDay-    时间: 2016-7-28 21:06
楼上的解释相当到位
作者: walkk    时间: 2016-7-28 21:38
楼上的楼上解释的相当好

作者: yezilail    时间: 2016-8-2 10:34
xiaobokk 发表于 2016-7-28 21:04
首先,要知道为什么会有函数重载的这个概念.因为你要实现同样的一个功能不需要写两个函数了,通过一个函数就 ...

灰常感谢。




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