Проблема в том, что вы забыли инициализировать приоритетную очередь nodes
. Измените его на:
private PriorityQueue<NodeObject> nodes = new PriorityQueue<NodeObject>();
Или явно выделите nodes
(как в nodes = new PriorityQueue<NodeObject>();
) в каждом из ваших конструкторов. Помните, что в Java любой тип, который не является примитивом, на самом деле является неявным указателем, поэтому, хотя указатель nodes
был инициализирован в null
, он не был инициализирован, чтобы указывать на что-либо.