黑马程序员技术交流社区

标题: 笔试中的题 [打印本页]

作者: fatesabering    时间: 2014-12-19 14:40
标题: 笔试中的题
方法中的内部类能不能访问方法中的局部变量,为什么?

  1. class Outer
  2. {
  3.         int x=1;//成员变量
  4.         void function(int z)//局部变量,在方法中的都叫局部变量
  5.         {
  6.                 int y=3;//局部变量
  7.                 class Inner
  8.                 {
  9.                         void method()
  10.                         {
  11.                                 System.out.println(y);//
  12.                         }
  13.                 }
  14.                 new Inner().method();
  15.         }
  16. }
  17. class  Test02
  18. {
  19.         public static void main(String[] args)
  20.         {
  21.                 new Outer().function(5);
  22.         }
  23. }
复制代码

我记得视频中说的是:可以直接访问外部类中的成员,但不可以访问它所在的局部中的变量,只能访问被final 修饰的局部变量,但我可以运行啊  不知道我哪里错了
作者: huoxy    时间: 2014-12-19 15:18
好像是JDK8的新特性,之前版本是不可以的。
作者: 秦_奋    时间: 2014-12-19 20:02
占个沙发
作者: zmhlnrs    时间: 2014-12-19 21:39
你的JDK应该是8的吧
作者: 红楼    时间: 2014-12-19 21:50
楼上说的对啊




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