从单独的类访问内部类

时间:2013-02-18 00:14:49

标签: java

我正在研究双端队列的实现。我有一个Deque类,它有一个内部类Node来表示列表中的项目。我在Deque(本身就是公共类)中声明了这样的类:

public class Node(){
//
}

现在,在Deque类本身中创建具有基本对象创建语法的新节点很简单:

Node newNode = newNode(arg1);

但是,我希望能够从一个单独的类(一个提供单元测试的DequeTest类)声明新节点。当我尝试使用上述语法创建一个新节点时,我收到一条错误,指出Node类不可见。我正在研究预定义的API,因此我无法创建任何新的公共方法。返回新节点的私有createNode()方法是否最佳?即使这似乎不起作用,因为当我甚至使用Node关键字时,编译器会抛出错误。

1 个答案:

答案 0 :(得分:0)

不可能。这就是制作内部阶级的重点:它只适用于父母。你为什么想要?如果你在其他地方使用Node,它首先不应该是一个内部类,因为它不属于任何一个类。您可以考虑创建一个公共Node类,然后从Node创建单独的内部类子类。
有关API文档,请参阅:here

相关问题