2017-03-15 50 views
0

我有一个具有内部节点类的外部类(LinkedStack<T>)。是否有必要使用相同的通用声明内节点类像内部类中的通用类型

private Node<T> 

,而不是

private Node 

或者它不是有什么区别?

+1

答案真的是“这取决于”,但我会亲自使用同一个通用的内部类,以保持一致性。 – NAMS

回答

1

如果内部类是静态类,那么是的,否则不。

即:

class LinkedStack<T> { 
    // references to T refer to LinkedStack's T. 

    static class Node<T> { 
     // references to T refer to Node's T. 
     T data; 
    } 

    // ... 
    Node<T> node; 
} 

或:

class LinkedStack<T> { 
    // references to T refer to LinkedStack's T. 

    class Node { 
     // references to T refer to LinkedStack's T. 
     T data; 
    } 

    // ... 
    Node node; 
}