0

Linkedlist.java 有一个从不导出的 Node 类,而是使用 Iterator 来允许客户端循环访问详细信息。为什么 Node 类不公开?如果有某种理由选择这种方式,那么想法是什么?

http://www.docjar.com/html/api/java/util/LinkedList.java.html

4

2 回答 2

2

该类Node不是官方 Java API 的一部分。这是一个实现细节,所以通过 make 隐藏它private。如果它是通过 make 暴露出来的public,那可能会让人们认为它可以安全使用,这会产生误导,因为并非所有 Java 实现都会使用它。例如,OpenJDK6 的实现LinkedList没有Node类。相反,它有一个Entry类。

于 2013-09-02T20:13:45.900 回答
1

它仅用于内部实现,LinkedList不用于公共用途。

实现的所有接口LinkedList都不需要Node类,因此隐藏这些细节是完全可以的。

于 2013-09-02T20:13:46.907 回答