在另一个 class(扩展)错误中包含 java class

including a java class in another class (extends) error

我写了两个文件(Node.java 和 priorityQueue.java),它们位于 同一目录 中,我正在尝试在其中使用 Node priorityQueue 使用“扩展”。

但是,在我的 priorityQueue.java 文件中出现“节点”的任何地方,我都会收到“错误:找不到符号”。

Node.java:

public class Node {
  private int priority;
  private String name;
  public Node(int priority, String name) {
    this.priority = priority;
    this.name = name;
  }
  // some methods ...
}

priorityQueue.java:

import java.util.ArrayList;

public class priorityQueue extends Node {
  public ArrayList<Node> pq = new ArrayList<Node>();
  // some methods ...
  public static void main(String[] args) {
    priorityQueue p = new priorityQueue();
    Node a = new Node(10, "a");
    p.enqueue(a);
    System.out.println(p.dequeue().getName());
  }
}

这是第一条错误信息:

priorityQueue.java:4: error: cannot find symbol
    public ArrayList<Node> pq = new ArrayList<Node>();
                     ^

我更习惯于使用导入的 c++ 和 c,但有人告诉我,只要文件位于同一目录中,extends 就可以在不导入任何内容的情况下工作。我错过了什么?

我正在使用 windows 10、java 14.0.1,并使用 notepad++ 作为 IDE。

你想使用基于节点的优先级队列吗?如果如我所料,你不应该扩展 class 节点,但你将通过优先级队列 class

创建节点的对象