方法参数前加final具有什么功能呢?
下文笔者讲述方法参数前面加final的功能简介说明
final可修饰基本数据类型 也可用于修饰引用类型 修饰的基础值,则在方法体中不能修改,也不能重新赋值 修饰引用类型, 则不能修改引用地址,但可修改其内部属性例
第一种情况 修饰基本类型(非引用类型) 这时参数的值在方法体内是不能被修改的 即不能被重新赋值。否则编译就通不过 例 public void testInt( final int param1){ param1= 100 ; } 在方法体内修改了基本数据类型变量的值 在Eclipse中则会提示 “ The final local variable param1 cannot be assigned. It must be blank and not using a compound assignment.“ 第二种情况 修饰引用类型 这时参数变量所引用的对象是不能被改变的 作为引用的拷贝 参数在方法体里面不能再引用新的对象 否则编译通不过 例 public void testFinal2( final Objectparam2){ param2= new Object(); } 在方法体内修改了参数的引用 在Eclipse中则会提示 “ The final local variable param2 cannot be assigned. It must be blank and not using a compound assignment.“
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。