黑马程序员技术交流社区

标题: 求解 [打印本页]

作者: 郑才熹    时间: 2013-7-10 11:13
标题: 求解
本帖最后由 郑才熹 于 2013-7-10 15:49 编辑

看毕老师的视频中遇到的问题
class Demo
{
    int show(int a,int b)(return 0;)
}
下面函数可以存在于Demo的子类中吗?
public short show(int a,int b)(return 0;)
答案是不可以,因为该函数不可以和给定函数出现在同一类中,或者子父类中。
有谁能帮我解释一下原因吗?为什么该函数不可以和给定函数出现在同一类中,或者子父类中?



作者: 草貌路飞    时间: 2013-7-10 11:20
因为它们的函数名一样,而且没有形成重载。要想函数名一样可以让方法重载,重载是函数名一样,但函数的参数不一样,可以是个数不一样也可以是类型不一样。但返回类型不一样是不能构成重载的。
作者: 郑才熹    时间: 2013-7-10 11:34
草貌路飞 发表于 2013-7-10 11:20
因为它们的函数名一样,而且没有形成重载。要想函数名一样可以让方法重载,重载是函数名一样,但函数的参数 ...

Thankyou!!!
作者: 杨政    时间: 2013-7-10 11:43
构不成重载,当你调用Demo的方法show(1,2)的时候,无法确定调用的是哪一个
作者: 张承富    时间: 2013-7-10 12:14
首先你不用管子类和父类,你函数的参数一样,凡是返回值不一样,那么当对象调用这个函数的时候,你能知道是返回哪个值吗?
所以,相同的参数列表,只能是相同的返回值




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