A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 刘凯旋 于 2014-3-19 10:18 编辑

void show(int a,char b,double c){}

a.
void show(int x,char y,double z){}//没有,因为和原函数一样。

b.
int show(int a,double c,char b){}//重载,因为参数类型不同。注意:重载和返回值类型没关系。
c.

void show(int a,double c,char b){}//重载,因为参数类型不同。注意:重载和返回值类型没关系。

d.
boolean show(int c,char b){}//重载了,因为参数个数不同。

e.
void show(double c){}//重载了,因为参数个数不同。

f.
double show(int x,char y,double z){}//没有,这个函数不可以和给定函数同时存在与一个类中。为什么这个函数不可以和给定函数同时存在与一个类中?


评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

2 个回复

倒序浏览
因为它们的参数类型,函数名都是相同的,当实际传入     12, a, 12.2   时,此时的jvm不知道你想要的结果是什么样的,所以它也不知道调用那个函数。jvm不知道你想要什么样的返回值。

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
函数是否重载,看函数名 和 参数表类型
给你的函数声明重新编号:
  1.         void show(int a,char b,double c){}               //1
  2.         void show(int x,char y,double z){}                //2
  3.         int show(int a,double c,char b){}                  //3
  4.         void show(int a,double c,char b){}               //4
  5.         boolean show(int c,char b){}                        //5
  6.         void show(double c){}                                  //6
  7.         double show(int x,char y,double z){}           //7
复制代码

1、2、7参数表中的参数类型都是相同的,所以不能同时出现。

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马