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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈建凡 中级黑马   /  2012-3-9 21:55  /  2371 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

两个参数的个数的列表和类型完全一样,就是返回值不一样,这样为什么不行?

8 个回复

倒序浏览
overload只看参数列表的个数或参数类型。
与参数的返回值类型无关。
回复 使用道具 举报
函数重载overlaod
在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可(参数个数,类型,顺序 有一个不同都是重载)
注意:与返回类型和访问修饰符无关
回复 使用道具 举报
当然不行啦,如果可以的话?你调用下面的方法,怎么判断你调用的是哪个呢?

public void method(String a){
         s.o.p("a");
}
public String method(String a){
         return "a";
}
回复 使用道具 举报
关于重载,参数列表和函数名完全一样,但是返回值类型不一样。
这样不是重载。也没有意义。
这个时候我们必须探讨一下返回值不一样的情况。
只有当返回值是对象的时候,会出现这样的结果。
比如:
person method();
student method();
student extends person
这两个方法其实就是一个方法。他们的返回值都是person,如果你返回一个student也没有问题。student是继承person的。
回复 使用道具 举报
重载只看方法名 和参数就行 别 不用看
回复 使用道具 举报
小白 黑马帝 2012-3-10 08:16:57
7#
函数重载只看 参数列表 与返回值没有关系!
回复 使用道具 举报
重载是 一个类里里面有多个名称相同的方法,只是他们的方法签名不同(参数类型和参数个数各不相同),返回值必须是相同的才行。
public void  save(){}
public void save(int i){}
这样才是
如果public String save(String s){} 这个就不能和上面的算是方法的重载
回复 使用道具 举报
函数重载只看函数名,函数类型,函数参数个数,和其他的没有关系,即:要么参数的类型不同,要么参数的个数不同,要么参数的类型和个数都不同;但是如果函数名不同的话,那就应该是另一个函数了,不属于重载了就
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马