这个是java的规定(好像没什么说服力),作用是为了防止引用变量所在的函数(如上frm对应的SplitPaneDemo)不存在而内部类继续存在的情况时可能会出现的错误,java编译器是不会允许这种情况发生的,使用final类型或者把frm定义为类变量可以解决这个问题。
也不知道你看不看得懂,就这样吧:)

解决方案 »

  1.   

    我用jdk1.4试了一下你的代码,没有任何问题。
    ???
      

  2.   

    对啊,现在没有问题了,因为上面的代码是加了fianl的,呵呵。
    你只需要好好学习一下局部类的概念,据说是为了保证局部变量和局部类所建立的拷贝总是具有相同的值,书上就是这么说的,可以好好复习一下内部类的相关知识。
    一句话,不这么做编译器会报错
      

  3.   

    好的,我前边看的铁道出的一本书上没有详细的讲这些细节问题
    但愿Core Java上有讲。
    thx~