为什么linkedlist.java不导出Node类

时间:2013-09-02 20:08:20

标签: java linked-list

Linkedlist.java有一个永远不会导出的Node类,而是使用和Iterator来允许客户端遍历细节。为什么Node类不公开?如果有某种理由选择那种方式的想法是什么?

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

它仅用于LinkedList的内部实现,不适合公开使用。

LinkedList实现的所有接口都不需要Node类,因此隐藏此类详细信息完全可以。