黑马程序员技术交流社区

标题: 方法的重载 有点理解不透 [打印本页]

作者: 清凉    时间: 2016-6-29 23:44
标题: 方法的重载 有点理解不透
有理解的好的同学,给讲解下思路呗
作者: 地狱蓝枫    时间: 2016-6-30 20:52
方法的重载就是在同一类中,有相同方法名的方法,但是参数类型不同,被称为方法的重载
public int sum(int a, int b)
public int sum (inta, int b, int c)
这两个方法方法名都是sum, 参数不一样,这样就叫方法的重载
作者: syinys7    时间: 2016-6-30 21:07
方法的重载,顾名思义是方法的重新载入..
那么除了方法名相同以外,返回值的类型,参数列表(参数个数 参数类型)都可以是不相同的.
作者: ssd123mn    时间: 2016-6-30 21:41
首先在格式上你要牢记,同一个类中,除方法名相同,参数列表不相同的;
其次在思想上理解,对于同一个功能,用不同方式调用
作者: happyburglar    时间: 2016-6-30 21:51
正在预习当中  明天Java基础第四天课程
作者: zhouboyangliu    时间: 2016-6-30 21:57
我擦,这是有多萌            
作者: yang11059307771    时间: 2016-6-30 22:07
还有,参数列表顺序不同也是重载
作者: 940752944    时间: 2016-6-30 22:19
方法名相同,参数列表不同,与返回值类型无关
作者: beckhamgun    时间: 2016-6-30 22:37
方法重载的定义想必楼主看了很多,举个例子吧
厨师有一个方法叫"炒菜",但是你看,他既然是厨师,肯定不只会番茄炒蛋吧,什么青椒肉丝,肉末茄子...之类的都要会吧,那么番茄炒蛋,需要使用番茄,鸡蛋...青椒肉丝需要青椒,肉丝... 这些需要的食材就可以理解为"炒菜"方法的"参数",你给他什么材料,他就根据材料做能够做的菜式,那他在实施"炒菜"这个方法做出不同菜式的时候,就可以理解为他在对"炒菜"方法进行重载.


作者: itismyhao    时间: 2016-7-1 04:10
我理解的是,
方法名相同,但是参数列表里的(参数个数) | (参数类型) 不同。
关于返回值,可以相同也可以不同。但仅返回值不同的话,不是方法重载。
例如
public int a(int a);
public long a(int a);
这两个不是方法的重载,编译会出错。
作者: itismyhao    时间: 2016-7-1 04:11
itismyhao 发表于 2016-7-1 04:10
我理解的是,
方法名相同,但是参数列表里的(参数个数) | (参数类型) 不同。
关于返回值,可以相同也可 ...

看完楼上需要补充自己一点,次序不同也是重载。
即方法名相同,但是参数列表里的(参数个数) | (参数类型) | (次序) 不同。
作者: guowei    时间: 2016-7-1 08:01
楼上的得对````````````




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