2016-08-20 20 views
-5

編輯:我實際上要問的是爲什麼我們需要一個抽象類,一個哈希類等實現接口,如地圖,集合和集合?那些(abstractmap,hashmap,map)和它們爲什麼需要成爲接口有什麼區別?Java中的Collection和AbstractCollection有什麼區別?

+0

'AbstractCollection'實現了大多數方法。 'Collection',作爲一個界面,不。你是否真的試圖問爲什麼有一個接口,而不僅僅是'AbstractCollection'?這是完全不同的問題。 – Andreas

回答

0

不同之處在於Java接口的方法隱式抽象,不能實現。 Java抽象類可以具有實現默認行爲的實例方法。

另一個,在Java接口中聲明的變量默認是final。抽象類可能包含非最終變量。

+0

從Java 8開始,接口方法可以具有默認實現。https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html –

0

如果你想實現一個集合,比實現整個Collection接口更容易擴展AbstractCollection,這已經實現了一些方法Collection

documentation of AbstractCollection

此類提供的骨幹實現Collection接口,最大限度地減少了實現此接口所需的工作。

相關問題