黑马程序员技术交流社区

标题: 内部类在局部位置上访问局部变量 ----局部变量final解析 [打印本页]

作者: CoeusLYJ    时间: 2015-5-8 23:53
标题: 内部类在局部位置上访问局部变量 ----局部变量final解析
本帖最后由 CoeusLYJ 于 2015-5-12 22:59 编辑
  1. class Outer{
  2.     int x = 3;
  3.     void method(final int a)
  4.     {
  5.            final int y = 4;    // 问:此处为什么要用final修饰局部变量???
  6.            class Inne{
  7.                    void function(){
  8.                           System.out.println(y);
  9.                   }
  10.            }
  11.            new Inner().function();
  12.     }
  13. }
  14. class  InnerClassDemo3{
  15.       public static void main(String[] args) {
  16.              Outer out = new Outer();
  17.              out.method(3);//这句可以编译通过;
  18.       }
  19. }
复制代码



作者: CoeusLYJ    时间: 2015-5-12 14:37
求大神解答 ~~~
作者: lwj123    时间: 2015-5-12 19:02
内部类使用到局部变量的话,该变量必须使用final修饰,若是使用jdk8编译的话,就可以不需要final修饰
作者: CoeusLYJ    时间: 2015-5-12 22:59
lwj123 发表于 2015-5-12 19:02
内部类使用到局部变量的话,该变量必须使用final修饰,若是使用jdk8编译的话,就可以不需要final修饰 ...

十分感谢~~~




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