A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© keaitao0321 中级黑马   /  2016-6-19 11:37  /  475 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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. }
复制代码

1 个回复

正序浏览
还有,方法在调用外部就会消失,那么方法内的局部内部类是不是也会跟着消失了?
为什么老师说这个时候内部类的对象还在堆内存了?即使在堆内存,也应该没有引用指向它了吧!
哪位大神能给我详细解释下!!
谢谢!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马