黑马程序员技术交流社区

标题: 关于局部内部类的问题 [打印本页]

作者: keaitao0321    时间: 2016-6-19 11:37
标题: 关于局部内部类的问题
  1. class Outer {
  2.         int num = 40;
  3.         public void show () {
  4.                 final int num = 30;
  5.                 class Inner {
  6.                          int num =20;
  7.                         public void show() {
  8.                                 int num =10;
  9.                                 System.out.println(num);
  10.                                 System.out.println(this.num);
  11.                                 System.out.println(???);//怎么才能输出30?
  12.                                 System.out.println(Outer.this.num);
  13.                         }
  14.                 }
  15.                 Inner i = new Inner();
  16.                 i.show();
  17.         }
  18. }
  19. class InnerClassTest2 {
  20.         public static void main(String[] args) {
  21.                 Outer o = new Outer();
  22.                 o.show();
  23.         }
  24. }
复制代码

作者: keaitao0321    时间: 2016-6-19 11:43
还有,方法在调用外部就会消失,那么方法内的局部内部类是不是也会跟着消失了?
为什么老师说这个时候内部类的对象还在堆内存了?即使在堆内存,也应该没有引用指向它了吧!
哪位大神能给我详细解释下!!
谢谢!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2