如果 Node 类位于单独的文件中,如何使 Node 类成为字段成员?[复制]

How do you make a Node class field member if the Node class is in a separate file? [duplicate]

提问人:idkusrname126 提问时间:11/10/2023 最后编辑:idkusrname126 更新时间:11/10/2023 访问量:19

问:

这是一个完全菜鸟的问题,因为我不记得了。

我想制作一个自制版本的链表,我的 LinkedList 类如下:

package stacks;

import java.io.*;

class Node<T>
{
    T data;
    Node<T> next;

    Node(T data)
    {
        this.data = data;
    }
}

public class LinkedList<AnyType>
{
    private Node<AnyType> head, tail;
}

我想将 Node 类移动到与链表类位于同一目录中的自己的文件中。如果我这样做,如何将 Node 类引用为链表类中的字段?

节点类:

package stacks;

public class Node<T>
{
    T data;
    Node<T> next;

    Node(T data)
    {
        this.data = data;
    }
}

链表类:

package stacks;

import java.io.*;

public class LinkedList<AnyType>
{
    private Node<AnyType> head, tail;
}

如果节点类位于单独的文件中,则这不起作用。由于“Node”是 LinkedList 类的字段成员,因此我还不想实例化它。我只想要一个对类的引用。

我知道,这是一个非常基本的问题。我已经有一段时间没有做过面向对象编程了,所以我真的不记得这些基本的东西了。

这是我遇到的错误:

LinkedList.java:13: error: cannot find symbol
    private Node<AnyType> head, tail;
            ^
  symbol:   class Node
  location: class LinkedList<AnyType>
  where AnyType is a type-variable:
    AnyType extends Object declared in class LinkedList
1 error
java linked-list 类成员

评论

0赞 Hovercraft Full Of Eels 11/10/2023
如果节点类位于单独的文件中,则这不起作用”——请更具体并提供更详细的信息,因为“不起作用”并不能告诉我们您实际上遇到了什么问题。不起作用,如何?您看到了哪些错误?请显示两个完整的独立小类和您看到的完整错误消息(如果有)。
1赞 Hovercraft Full Of Eels 11/10/2023
如果两个文件位于同一包中,则无需执行导入。如果它们位于单独的包中,则需要将 Node 类导入到 LinkedList 类中。
0赞 Hovercraft Full Of Eels 11/10/2023
请说明您是如何编译和运行类的。您使用的是 IDE 还是从命令行运行?
0赞 Hovercraft Full Of Eels 11/10/2023
请确保已完全编译 Node 类。另外,请查看“找不到符号”或“无法解析符号”错误是什么意思? 问答。
1赞 Hovercraft Full Of Eels 11/10/2023
例如,javac Node.java LinkedList.java

答: 暂无答案