在LinkedCollection类中定义一个class LinkedCollection{
    protected static class Entry{
         Object element;
         Entry next;
  } 
  }
Entry是LinkedCollection类中的一个静态类,是不是他是类LinkedCollection中一个共享的类,那么里面的变量element和next共享吗,如果共享的话next将不断被覆盖,怎么会构成链表.请各位大哥帮我解答一下JAVA中链表的实现过程及怎么样实现的.

解决方案 »

  1.   

    .学习.
    JAVA已经封闭好的啦。
      

  2.   

    静态类里面的成员当然不是共享的实际上,静态与非静态内部类的区别是前者不可以访问外部那个类的成员变量,后者可以。即:public class A {
      private int m;
      public static class Sub1 {
         public void method1() {
           A.this.m = 0;//编译不通过
         }
      }
      public class Sub2 {
         public void method2() {
           A.this.m = 0;//编译通过
         }
      }
    }
      

  3.   

    还有一个问题想问下两位就是Entry类中又定义了一个Entry成员变量他们会不会无限的构造下去,我知道非静态类会这样,那么静态类为什么不会呢,希望你们能帮我解答一下
      

  4.   

    无论静态还是非静态,Entry在初始化时只是指向了null,所以不存在递归创建的问题
    如果写成
    public class Sub2 {
      private Sub2 m = new Sub2();
    }则无论静态还是非静态都会堆栈溢出