在Java中,为什在定义常量中要加修饰符final?到底起啥作用呢,能不能不加?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Java中,为什在定义常量中要加修饰符final?到底起啥作用呢,能不能不加?相关的知识,希望对你有一定的参考价值。

百度一下你就知道啦,学计算机提问题没有百度问题解决的快!
在方法参数前面加final关键字就是为了防止数据在方法体中被修改。这里主要分两种情况:
第一,用final修饰基本数据类型;
第二,用final修饰引用类型。
第一种情况,修饰基本类型(非引用类型)。这时参数的值在方法体内是不能被修改的,即不能被重新赋值。否则编译就通不过。例如: publicvoidtestInt(finalintparam1) param1=100; 在方法体内修改了基本数据类型变量的值,在Eclipse中则会提示:“ The final local variable param1 cannot be assigned. It must be blank and not using a compound assignment.“
第二种情况,修饰引用类型。这时参数变量所引用的对象是不能被改变的。作为引用的拷贝,参数在方法体里面不能再引用新的对象。否则编译通不过。
例如:
publicvoidtestFinal2
(
finalObjectparam2
)
param2=newObject();

在方法体内修改了参数的引用,在Eclipse中则会提示:
“ The final local variable param2 cannot be assigned. It must be blank and not using a compound assignment.“
参考技术A final是Java中定义常量的关键字,要定义一个常量,必须加上它。一个常量只能在初始时赋值一次,不允许多次赋值。一般把固定的东西设成常量,如圆周率等,因为它只允许在初始时赋值一次,而不允许多次赋值,就可以有效的防止程序员犯逻辑错误 参考技术B 嗯。。他们答的都对。。

以上是关于在Java中,为什在定义常量中要加修饰符final?到底起啥作用呢,能不能不加?的主要内容,如果未能解决你的问题,请参考以下文章

java-final修饰符

java中 static 表示静态 final表示常量?怎么使用的

java final .static修饰符

JAVA语言中,啥是变量,如何定义一个变量?啥是常量?

Java之非访问修饰符

Java之非访问修饰符