java - AbstractCollection 的目的是什么

标签 java

AbstractCollection 实现了 Collection。那么为什么 AbstractCollection 在那里,为什么我们使用 Collection 而不是直接使用 AbstractCollection

最佳答案

也许现在回答有点晚了,但以防万一我想回答这个问题。

  1. AbstractCollection 之所以被使用,是因为正如 Krzysztof 所说,所有子集合都共享一些共同的功能,并且由于此功能是通用的(完全相同的代码行),我们可以使用继承来重新组合代码并使设计更简洁、更易于理解和更易于维护。

  2. 我们使用接口(interface)是因为接口(interface)定义了每个实现该接口(interface)的类必须提供的“契约”,即子类必须具有的方法。这个问题类似于,为什么我们不能使用 ArrayList 而不是 List,你可以这样做,但是 90% 的时候你会对添加/设置、删除和知道大小感兴趣ArrayListList 接口(interface)向您保证,在新的某处之后编写的任何内容都将实现此方法(和其他方法),因此您可以调用它们,多态性将完成工作.此外,使用接口(interface)作为引用允许您更改具体实现的类型而不更改任何内容(仅新调用)并且还允许您在运行时更改特定类型,使用您限制自己的特定类引用仅供引用。

关于java - AbstractCollection 的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26319130/

相关文章:

JavaFX 表格 View 清除集合

java - 容器 'Maven Dependencies' 引用了不存在的库 - STS

java - 等待字符串相等的正确方法

java - 如何本地化 JavaFX FileChooser 对话框?

java - 如何将通用参数传递给hadoop jar

Java Optional if object is not null - 返回方法结果,如果为 null - 返回默认值

java - 如何避免 FROM 子句中的子查询将 SQL 查询转换为 Hibernate 查询?

java - log4j:文件已创建但未写入

java - SQL - 如果 boolean 值为 True,则返回行

java - 使用 Java 填充 SQL 表中的特定列