2013-10-02 53 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