2013-03-20 70 views
1

我最近意識到一個接口可以在Java中這樣聲明。Java界面如何抽象?

public abstract interface Foo 
{ 
    // ... body 
} 

爲什麼這是一個有效的語法?從語義上講,它對我來說沒有任何意義(即,interface已經是摘要,不是嗎?)。 用abstract聲明的接口和沒有聲明的接口是否有區別?

+0

http://stackoverflow.com/questions/7202616/java-abstract-interface – 2013-03-20 03:03:53

+3

沒有區別。每個接口都是隱式抽象的,這個修飾符已經過時了。 – 2013-03-20 03:07:00

+0

@Sudhanshu我同意你的觀點,界面是隱含抽象的,儘管我不同意'abstract'是一個過時的修飾語。它仍然在用來聲明抽象類,這些抽象類明顯不同於接口 – 2013-03-20 03:11:32

回答

4

這不是必需的,因爲它隱含在所有接口中。包含或不包含沒有區別。包含它很奇怪,所以我會避免它。