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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈雨 中级黑马   /  2013-3-20 16:28  /  1649 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈雨 于 2013-3-20 17:18 编辑

在毕老师关于重载视频中有个练习问是否重载:
原函数:void show (int a, char b, double c){}
double show(int x,char y,double z){}//毕老师说,没有重载,原因是这个函数不可以和给定函数同时存在一个类中.
因为还没学到"类"对这句话不是很懂.因为把double换成 int,boolean又是重载函数.能否详细解释下.


点评

如果你的问题已经得到解决,请及时将主题改为[已解决]。如果还有问题请继续追问。谢谢  发表于 2013-3-20 17:12

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

5 个回复

倒序浏览

而如果两个同名函数如果不是重载关系而在同一个类中的.....

本帖最后由 李阳阳 于 2013-3-20 16:52 编辑

   方法的重载是指在一个类或接口中可以有多个相同名称的方法,不过这些相同名称的方法具有不同的形参,
及参数个数的不同或参数的类型不同。而两个同名函数如果不是重载关系而存在同一个类中的话,那么等到调
用的时候就不知道调用哪个了。如:下面代码中有四个同名的show()方法,但是有不同的参数,
因此这四个就是重载的方法。
  1. class Test
  2. {
  3.         void show()//没有参数的show()方法
  4.         {
  5.                 System.out.println("一个参数也没有");
  6.         }
  7.         void show(String s)//有一个String类型参数的show()方法
  8.         {
  9.                 System.out.println("有一个String类型参数的show()方法,你传的参数时是:"+s);
  10.         }
  11.         void show(int a)//有一个int类型参数的show()方法
  12.         {
  13.                 System.out.println("有一个int类型参数的show()方法,你传的参数时是:"+a);
  14.         }
  15.         void show(String s1,String s2)//有两个String类型参数的show()方法
  16.         {
  17.                 System.out.println("有两个String类型参数的show()方法,你传的参数时是"+s1+"和"+s2);
  18.         }
  19. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

回复 使用道具 举报
关于重载,只要记住两点
1.函数名
2.参数列表
函数名相同,参数列表不同(参数列表顺序不同也算),就是重载
和返回值类型没有关系,你说的double,int和boolean都是返回值类型
回复 使用道具 举报
明锦添 发表于 2013-3-20 16:47
关于重载,只要记住两点
1.函数名
2.参数列表

问题就boolean的函数类型在这里不是重载函数
回复 使用道具 举报
山西_李帅 来自手机 中级黑马 2013-3-20 17:50:41
报纸
兄弟这是两个类中的方法吧?重载你可以理解为在同一个类中才会发生。
回复 使用道具 举报
陈雨 发表于 2013-3-20 16:52
问题就boolean的函数类型在这里不是重载函数

这两条语句函数名和参数列表都是一模一样的,是不能在同一个类中出现的,所以就不存在重载,不知道说什么好了,视频你还是多退回去看几遍就知道了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马