无法从给定代码访问类错误?

5cnsuln7  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(165)

我是编程新手,如果这是个愚蠢的问题,我很抱歉。我得到了一些预先编写的类,称为ngen,这是一个通用节点类,stack1gen.java是为链表实现的。由于某种原因,在stack1gen类中,当它说start.getnext()时,我得到一个错误;说“无法访问ngen。这是什么意思?

// NGen.java
// A *simplified* generic node class for use with Stack1Gen class 
// and other data structures as desired; uses generics for the data

public class NGen <T> {

    // constructors

    public NGen () {}

    public NGen (T o, NGen<T> link) {
        data = o;
        next = link;
    }

    // selectors

    public T getData() {
        return data;
    }

    public void setData(T o) {
        data = o;
    }

    public NGen<T> getNext() {
        return next;
    }

    public void setNext(NGen<T> link) {
        next = link;
    }

    // instance variables

    private T data;
    private NGen<T> next;

}  // NGen class

// Stack1Gen.java
// The StackGen Interface is implemented using linked list
// The linked list used is a simple generic node class called NGen.  (See NGen.java)

public class Stack1Gen <T> implements StackGen<T> {

    // constructor

    public Stack1Gen () {}

    // selectors

    public void push(T o) {
        start = new NGen<T>(o, start);
    }

    public T pop() {
        if (start == null)
          throw new RuntimeException("Tried to pop an empty stack");
        else {
          T data = start.getData();
          start = start.getNext();
          return data;
        }
    }

    public T top() {
        if (start == null)
          return null;
        else return start.getData();
    }

    public boolean isEmpty() {
        if (start == null)
          return true;
        else return false;
    }

    // instance variables

    private NGen<T> start = null;

}  // Stack1Gen class
mkshixfv

mkshixfv1#

您的代码中没有错误。如果您正在使用intellij idea,请尝试“失效缓存并重新启动”(从“文件”菜单)

相关问题