java吧 关注:1,247,745贴子:12,728,872
  • 22回复贴,共1

在这个地方final的作用是什么?为什么要添加一个final啊

只看楼主收藏回复

在这个地方final的作用是什么?为什么要添加一个final啊?在局部内部类中访问外部类变量要加fianl,又是为什么?


来自iPhone客户端1楼2015-12-17 13:29回复
    就是conest


    IP属地:上海来自Android客户端2楼2015-12-17 13:35
    收起回复
      语法规定内部类访问外部变量,变量必须final声明


      IP属地:浙江来自Android客户端3楼2015-12-17 14:08
      收起回复
        这个程序并没有内部类啊,楼上搞混了吧,内部类是定义在类中的,楼主加不加final对你这个程序的运行结果并没有影响,加了final,o对象的地址在add方法里面不能修改,简单锁就是不能进行类似o=new Other()类似操作。


        4楼2015-12-17 14:17
        收起回复
          final表示最终的,被final修饰的变量值不能改变,方法不被覆盖


          5楼2015-12-17 14:18
          收起回复
            就是o不能再被修改


            IP属地:广东来自Android客户端6楼2015-12-17 21:02
            回复
              加了final类的引用不能重新赋值,只是可以改变类的状态而已。


              IP属地:重庆来自Android客户端7楼2015-12-17 21:06
              收起回复
                final修饰变量,变量得引用不变。


                IP属地:安徽来自iPhone客户端8楼2015-12-17 21:40
                回复
                  我定义了一个方法,方法的参数比如说是个美女,给此方法的形参加入final之后,其他所有人调用此方法,传值必须是美女,不能改变。你不能调用这个方法传入一个霉女,虽然都是女孩


                  IP属地:山东9楼2015-12-17 21:46
                  回复
                    在addOne方法中实例对象o不能改变引用对象,比如:o = new Other();就不对。 但实例对象中的变量值可以发生改变。


                    来自Android客户端10楼2015-12-18 11:09
                    回复