Outer outer = new Outer();
一个Object的Outer类是在堆中创建和参考变量指向它.
如果我在写作时就明白了
Outer.Inner inner=outer.new Inner();
Inner类的对象在堆上创建并inner指向它.在堆中,我们有两个独立的对象,它们包含自己的实例变量.
但如果我写
Outer.Inner inner=new Outer().new Inner();
仍然Object会在堆上创建两个for for Outer和other for Inner.但参考,inner只有Inner Object's成员可以访问.谁在指Object堆外?如果它没有被任何引用引用,那么它应该有资格进行垃圾收集,这会影响其使用inner.