你这样写肯定不能访问了,即使要访问方法的变量,该变量最好加上final关键字

解决方案 »

  1.   

    加上final关键字就好了,但还是不会输出2
      

  2.   

    如果要在内部类内访问方法的局部变量,这个变量必须被final修饰
    也就是 必须 final String info = "2";
    刚刚测试了下,发现内部类的属性名称及内部类方法的局部变量名称不可以和外部类方法的局部变量重名,否则会覆盖掉外部类的方法的局部变量
    这个例子中就是  值为3 的info 和 值为4 的info 同时改名,然后给 值为2 的info 加final修饰
    便可以在Inner 的print方法中访问到 值为 2 的info