码迷,mamicode.com
首页 > 编程语言 > 详细

java中final修饰方法传入参数的影响

时间:2015-04-09 19:53:17      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:java   final 参数   

最近在看spring 源码深度解析 看到了许多方法中的参数被final修饰符修饰 什么作用自己蒙了 难道在方法中不允许修改参数么

网上查了查 恍然大悟

final类型修饰的参数分为两种类型 基本类型 与引用类型 

      final修饰基本类型如下

<span style="white-space:pre">	</span>public void getValue(final int a){
   <span style="white-space:pre">		</span>....
<span style="white-space:pre">	</span>}
如果在方法中修改上述方法的参数则会报错如下图
技术分享

   final 修饰引用类型

    

     public void getValue(final Integer a){
         .........
     }
相同的 如果修改所引用的对象也是会提示上述错误的

   但是换种方式

         

	public void getValue(final Contract c){
		 c.hourSpanName="aa";
	}
就没有任何问题
        我总结了下 1、在调用的参数内部 无论是基本类型还是引用类型 其值不可改变(引用类型指的引用对象不变)

                             2、引用类型中属性可变

                             3、

java中final修饰方法传入参数的影响

标签:java   final 参数   

原文地址:http://blog.csdn.net/majun_guang/article/details/44963695

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!