2017-02-13 21 views
-2

オーバーロードのメソッドは同じ戻り型(またはサブタイプ)でなければなりませんか? (オーバーライド方法と同じ)オーバーロードのメソッドは同じ戻り値の型(またはサブタイプ)でなければなりませんか?

「はい」の場合、次のクラス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

はい、オーバーロードされたメソッドは、その戻り値の型で区別することはできませんので。 ですが、返される型としてサブタイプを使用できます。

+1

答えはノーと思われる – tami

関連する問題