Java中重载可以返回值不同么

如题所述

方法重载跟返回值类型和修饰符无关 Java的重载 是发生在本类中的,重载的条件是在本类中有多个方法名相同,但参数列表不同(可能是,参数个数不同,参数类型不同),跟返回值无关。 我们可以举个例子,假如我们在同一个类中,写了两个方法名相同并且参数列表也相同,只是返回值不同,public Stringshow(int number)
public int show(int number) 而我们调用这个方法给它赋值的时候java虚拟机并不知道你要赋给的是String型的方法还是int型的方法,所以重载跟返回值无关。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-18
重载:方法签名相同,参数列表不同(与返回值无关)
重写:同名同参同返回,前面的权限修饰符不能比父类的更封闭,抛出的异常不能更宽泛。
这两句话记住就行了,在不用因为这个而混乱。
第2个回答  2012-10-18
重载的要求是在同一个类中,方法名相同的方法.判断是否重载的依据是参数列表的不同.跟修饰符还有返回值无关.仅仅依据相同的方法名以及不同的参数列表
第3个回答  2012-10-18
当然可以不同
比如父类有个方法
int a()
{
return 3;
}
子类重载这个方法
int a(int i)
{
return i;
}
String a(String str)
{
return str;
}
这都没问题
第4个回答  2012-10-18
java中重载就是相同的方法 就是返回类型相同 方法名相同 在参数相同的情况下 参数类型不一样
在参数不相同的情况下 参数个数不一样 希望能帮到你
相似回答