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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fatesabering 中级黑马   /  2014-12-19 14:40  /  1119 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

方法中的内部类能不能访问方法中的局部变量,为什么?

  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 修饰的局部变量,但我可以运行啊  不知道我哪里错了

4 个回复

倒序浏览
好像是JDK8的新特性,之前版本是不可以的。
回复 使用道具 举报
占个沙发
回复 使用道具 举报
你的JDK应该是8的吧
回复 使用道具 举报
楼上说的对啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马