方法参数前加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.“
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


