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

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

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

  1. // NGen.java
  2. // A *simplified* generic node class for use with Stack1Gen class
  3. // and other data structures as desired; uses generics for the data
  4. public class NGen <T> {
  5. // constructors
  6. public NGen () {}
  7. public NGen (T o, NGen<T> link) {
  8. data = o;
  9. next = link;
  10. }
  11. // selectors
  12. public T getData() {
  13. return data;
  14. }
  15. public void setData(T o) {
  16. data = o;
  17. }
  18. public NGen<T> getNext() {
  19. return next;
  20. }
  21. public void setNext(NGen<T> link) {
  22. next = link;
  23. }
  24. // instance variables
  25. private T data;
  26. private NGen<T> next;
  27. } // NGen class
  28. // Stack1Gen.java
  29. // The StackGen Interface is implemented using linked list
  30. // The linked list used is a simple generic node class called NGen. (See NGen.java)
  31. public class Stack1Gen <T> implements StackGen<T> {
  32. // constructor
  33. public Stack1Gen () {}
  34. // selectors
  35. public void push(T o) {
  36. start = new NGen<T>(o, start);
  37. }
  38. public T pop() {
  39. if (start == null)
  40. throw new RuntimeException("Tried to pop an empty stack");
  41. else {
  42. T data = start.getData();
  43. start = start.getNext();
  44. return data;
  45. }
  46. }
  47. public T top() {
  48. if (start == null)
  49. return null;
  50. else return start.getData();
  51. }
  52. public boolean isEmpty() {
  53. if (start == null)
  54. return true;
  55. else return false;
  56. }
  57. // instance variables
  58. private NGen<T> start = null;
  59. } // Stack1Gen class
mkshixfv

mkshixfv1#

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

相关问题