我正在研究双端队列的实现。我有一个 Deque 类,它有一个内部类 Node 来表示列表中的项目。我在 Deque 中声明该类(本身是一个公共类),如下所示:
public class Node(){
//
}
现在,在 Deque 类本身中使用基本对象创建语法创建新节点很简单:
Node newNode = newNode(arg1);
但是,我希望能够从一个单独的类(提供单元测试的 DequeTest 类)声明新节点。当我尝试使用上述语法创建一个新节点时,我收到一条错误消息,指出节点类不可见。我正在开发一个预定义的 API,所以我无法创建任何新的公共方法。返回一个新节点的私有 createNode() 方法会是最优的吗?即使这样似乎也行不通,因为当我使用 Node 关键字时编译器会抛出错误。