AbstractCollection
实现Collection
。那么为什么AbstractCollection
在那里,为什么我们使用Collection
而不是直接使用AbstractCollection
?
最佳答案
也许回答有点晚了,但是以防万一我想回答这个问题。
使用
AbstractCollection
是因为所有子集合都共享某些功能(如Krzysztof所说的),并且由于该功能是通用的(完全相同的代码行),因此我们可以使用继承来重新使用该代码,并使设计更简洁,更易于理解和使用。更易于维护。 ArrayList
而不是List来做到这一点,但是您有90%的时间会对添加/设置,删除和知道ArrayList
的大小以及List
接口(interface)感兴趣。您会发现,在新的地方编写的所有内容都将实现此方法(及其他方法),因此您可以调用它们,而多态性将完成工作。另外,使用接口(interface)作为引用可以使您更改具体实现的类型,而无需进行任何更改(仅更改新调用),还可以使用特定的类引用在运行时更改特定的类型。引用,仅此而已。 关于java - AbstractCollection的目的是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26319130/