重载方法必须具有相同的返回类型(或子类型)吗? (作为重写方法)
如果是,那么为什么在下面的B类中,方法“findmax”可以重载?
public class A {
public Integer findmax(ArrayList<Integer> list, int start){...}
}
public class B extends A {
public Float findmax(List<Integer> mylist, int start){...}
而下面的一个没编译? (有规则说:重载方法不能返回原始类型吗?)
public class A {
public Integer findmax(ArrayList<Integer> list, int start){...}
}
public class B extends A {
public float findmax(List<Integer> mylist, int start){...}
答案 0 :(得分:0)
是的,因为重载方法无法通过返回类型区分。 但您可以使用子类型作为返回类型。