2015-02-05 23 views
0

我在Stack泛型参数,项目或节点?

public class Stack<Item> implements Iterable<Item> { 
private int N;    // size of the stack 
private Node<Item> first;  // top of stack 

// helper linked list class 
private static class Node<Item> { 
    private Item item; 
    private Node<Item> next; 
} 
.... 

为什么泛型参数类型为{ITEM}不是{}节点这里的泛型参数类型的一些疑问?毕竟,我们正在迭代的是节点

+0

你检查过你提供的链接中的'private static class Node '吗? –

+0

任何。这有什么不同? – javarookie

回答

2

不,Node只是一个实现细节。请注意它是一个private类。您将无法在Stack之外访问它。

假设您有Stack书籍。你将会遍历书籍,而不是遍历拥有这些书籍的节点。这会破坏封装。