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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蒋昌宏 黑马帝   /  2012-3-3 23:47  /  1347 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class cic//内部类定义在成员函数中
{
        int num =7;
        public void innerclass()
        {
                int num =8;
                class ic
                {
                        int num=9;
                        public void print()
                        {
                                int num=99;
                        System.out.println(???);       
                        }
                }
                ic i = new ic();
                i.print();
        }
}

假如我想打印8,System.out.println(???);怎么填

1 个回复

倒序浏览
内部类调用局部变量要在前面加上final,   然后把int num = 99 ;去掉。   

final int num = 8;
。。。
System.out.println(num);
  1. class Cic//内部类定义在成员函数中
  2. {
  3.         int num =7;
  4.         public void innerclass()
  5.         {
  6.                final int num =8;
  7.                 class Ic
  8.                 {     
  9.                     public void print()
  10.                     {
  11.                        
  12.                        System.out.println(num);        
  13.                     }
  14.                 }
  15.                 Ic i = new Ic();
  16.                 i.print();
  17.         }       
  18.         
  19.         public static void main(String[] args) {
  20.                 Cic haha = new Cic();
  21.                 haha.innerclass();
  22.                                
  23.         }
  24. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马