[英]Why does AbstractCollection implement both Iterable and Collection?
AbstractCollection
同時實現Iterable
和Collection
接口。 但是, Collection
是Iterable
的子 Iterable
。 僅僅讓AbstractCollection
實現Collection
不夠的嗎?
可以將AbstractCollection
的Javadocs解釋為AbstractCollection
直接實現Collection
和Iterable
。
所有已實現的接口:
可迭代,集合
但是, 快速查看源代碼表明它僅直接實現Collection
。
public abstract class AbstractCollection<E> implements Collection<E> {
因此,必須將Javadocs解釋為說該類直接或間接實現給定的接口。 正如您所指出的,不需要AbstractCollection
直接實現Iterable
,因為它已經實現了Collection
。 源代碼表明它沒有直接實現Iterable
。 只需AbstractCollection
僅直接實現Collection
就足夠了。
是。 足夠了。 但是,明確列出兩者都允許(通過簡單的檢查)告訴AbstractCollection
實現Iterable
和Collection
(而且,由於它是abstract
因此不一定實現任何一個接口-但任何具體的子類都可以實現)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.