2017-02-13 175 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){...} 

while while following one did not compile? (有沒有提到的規則:重載方法不能返回原始類型)

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

相關問題