可能重复:
Java内部类和静态嵌套类
Java中内部类的用途是什么?嵌套类和内部类是否相同?
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.
有人能告诉我内部课程的目的是什么?我可以想到一些,但可能是他们不是使用内部类的好理由.我的理由是,当你想要使用其他类无法使用的类时,内部类很有用.还有什么?