黑马程序员技术交流社区

标题: 关于内部类定义在局部时的一点疑惑 [打印本页]

作者: wisely    时间: 2014-7-23 02:11
标题: 关于内部类定义在局部时的一点疑惑
本帖最后由 wisely 于 2014-7-23 11:11 编辑
  1. class Outer{
  2.         int x=1;
  3.         void method(final int a){
  4.                 //a++;        //为什么加上这句代码就会挂掉
  5.                         //提示错误:不能分配最终参数a
  6.                 final int y=2;
  7.                 class Inner{
  8.                         void function(){
  9.                                 System.out.println(Outer.this.x+":"+y+":"+a);
  10.                         }
  11.                 }
  12.                 new Inner().function();
  13.         }
  14. }

  15. public class Sunday{
  16.         public static void main(String[] args){
  17.                 Outer out=new Outer();
  18.                 out.method(7);
  19.                 out.method(9);
  20.         }
  21. }
复制代码
晚上看视频晕了……提问结束!


作者: fantacyleo    时间: 2014-7-23 02:21
给final变量(相当于常量)二次赋值,当然会挂掉。。。
作者: meibinlove    时间: 2014-7-23 06:17
final修饰的变量不能改变初始值
作者: IT初学者    时间: 2014-7-23 10:30
受教了,楼上正解!
作者: 18618120018    时间: 2014-7-27 23:45
原来是这样的




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