2013-10-02 52 views
-1

我一直在嘗試一段時間,但現在我想知道我是否可以。接口中的方法是否可以在不需要兩個接口或方法(如果可能)的情況下返回變量或數組?java界面和返回類型

+0

什麼?你爲什麼不嘗試它? –

+4

我完全不知道你在問什麼。 – arshajii

回答

-1

有什麼不對

interface Foo{ 
    int foo1(); 
    //or.... 
    int[] foo2(); 
} 

+0

,因爲他不想要兩種方法 –

+0

@ user2310289這就是爲什麼我把'\\或....'。他不需要將這兩個函數都放在界面中,只需要他需要的那個函數 –

+0

,所以如果他使用'int foo1();' - 他如何返回一個數組? –

3

每種方法都必須指定返回類型並堅持使用它。沒有像「返回字符串或int []」的「聯合類型」。

如果你真的有可能返回兩個不同的東西的方法,你可以

  • 使包裝類型(StringOrIntArray),可容納兩個

  • 有該方法返回Object,它可以是幾乎任何東西,包括數組,並在調用者處使用instanceof來查看您得到的結果。

這兩個選項都不是特別有吸引力。也許退後一步,重新思考更大的圖景。

+0

通過閱讀它,它變得更清晰(我認爲)OP的要求。 +1 – arshajii