黑马程序员技术交流社区
标题:
这个重载到底是怎么回事啊??
[打印本页]
作者:
Captain_Jack_Sp
时间:
2013-8-24 02:31
标题:
这个重载到底是怎么回事啊??
本帖最后由 黄兴旺 于 2013-8-24 19:44 编辑
问题是那个下面那个函数与上面重载了。按注释来说的话
F选项不可以的原因是她不明确调用那个函数,可是B的int类型却可以啊
QQ4.png
(49.77 KB, 下载次数: 11)
下载附件
2013-8-24 02:29 上传
作者:
黄兴旺
时间:
2013-8-24 02:56
重载的特点是函数名相同,参数列表的个数、类型或者顺序不同,与返回值类型无关。
作者:
梦航
时间:
2013-8-24 08:51
函数重载的思想在于实现“一物多用”,方法重载要明确三点:
1、在同一个类内
2、方法名相同
3、参数列表不同
除此之外,对于方法的返回值类型或者方法的修饰符等,均与方法重载没有任何关系
祝编程愉快!
作者:
masterV
时间:
2013-8-24 09:22
要注意,B的参数跟题目中的参数顺序是不同的,而F中的参数跟题目中的参数是相同的。重载只看方法名,参数类型和参数个数(包括顺序),不看返回值。
因为如果只是返回值不同,在调用该方法时,系统不知道该调用哪一个。
作者:
清心玉质
时间:
2013-8-24 09:41
依据我个人理解,F的答案可能有问题。
重载就是在同一个类中定义了两个及以上的同名方法,方法参数列表不同(包括 类型、个数、顺序),方法体也不同,这是方法重载。
重载主要看的是同名方法的参数列表。
作者:
binghaiwang
时间:
2013-8-24 10:10
重载的方法主要看参数列表的个数,类型,顺序是否相同 ,不看返回类型
B选项里边的顺序是不同的。
作者:
外面的世界
时间:
2013-8-24 10:19
重载的格式有顺序,与函数返回值没有关系的
作者:
丁海平
时间:
2013-8-24 10:25
标题:
重载
本帖最后由 丁海平 于 2013-8-24 10:47 编辑
重载就是方法名相同,参数的类型与个数不同,而且与返回类型无关,看最后一个与第二个方法重复了
作者:
穿靴子的猫
时间:
2013-8-24 11:14
重载:相同对象(在同一个类里面),在不同环境(参数列表不同) ,对相同指令(方法名相同),做出的不同响应(每一个方法都做独立的事),与返回值无关
作者:
itachi
时间:
2013-8-24 11:20
重载与参数有关,与返回值类型无关,虚拟机调用函数时是不看你的返回值类型的
show(a,b,c);
如果定义了int show(a,b,c)和double show(a,b,c),虚拟机就搞不清到底调用哪一个
作者:
乖睡觉咯
时间:
2013-8-24 15:33
函数的重载
A:函数名相同,参数列表不同。
**参数类型不同。int add(int i)void add(double d)
**参数个数不同。add(int a,int b);add(int a,int b,int c)
**参数顺序不同
B:特点:与返回值类型无关,只看参数列表。
作者:
行如止水
时间:
2013-8-24 15:40
重载,简单来说就是函数名相同,但是函数声明却不一样的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2