2015-11-25 85 views
0
interface temp 
{ 
    public int add(int a,int b) 
    { 
     return a+b; 
    } 
} 

我們可以實現方法像上述接口, 或我們必須只定義在接口方法。我們可以實現內部接口的任何方法在Java

+0

@ BackSlash:該線程已過期。在當前版本的Java中,可以在接口中實現方法,但都是默認方法。 – Stultuske

+0

@Stultuske你讀過有問題的帖子了嗎?被接受的答案就是這一切。 –

+0

@AlexisC .:毫無疑問,這就是爲什麼他們要去Java 6 – Stultuske

回答

7

是的,你可以在Java 8,使用默認的方法

interface temp 
{ 
    default public int add(int a,int b) 
    { 
     return a+b; 
    } 
} 

正如在評論中提到由蒂洛,爪哇8還增加了可能性,在接口的靜態方法:

interface temp 
{ 
    public static int add(int a,int b) 
    { 
     return a+b; 
    } 
} 
+0

Nitpicking:由於OP詢問* any *方法,因此答案爲否,因爲我們無法從Object類(如equals或toString)實現這種方法。 – Pshemo

+0

Nitpicking響應:OP詢問我們是否可以實現* any *方法。不*每個*方法。 – Thilo

+0

但是如果在界面中爲'toString'提供默認值會發生什麼?一些編譯實現它的類的錯誤(要求它明確指定它想要繼承的'toString')? – Thilo

0

如果你沒有使用java 8那麼你只能在界面中定義方法。

public interface temp { 
    int add(int a,int b); 
} 

這是在java 8中引入的一個新功能「界面中的默認方法」。

相關問題