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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 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. }
复制代码


3 个回复

正序浏览
lwj123 发表于 2015-5-12 19:02
内部类使用到局部变量的话,该变量必须使用final修饰,若是使用jdk8编译的话,就可以不需要final修饰 ...

十分感谢~~~
回复 使用道具 举报
内部类使用到局部变量的话,该变量必须使用final修饰,若是使用jdk8编译的话,就可以不需要final修饰
回复 使用道具 举报 1 0
求大神解答 ~~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马