重载方法必须具有相同的返回类型(或子类型)吗?

时间:2017-02-13 09:27:54

标签: java operator-overloading

重载方法必须具有相同的返回类型(或子类型)吗? (作为重写方法)

如果是,那么为什么在下面的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){...}

1 个答案:

答案 0 :(得分:0)

是的,因为重载方法无法通过返回类型区分。 但您可以使用子类型作为返回类型。