Java的关键词final的含义会根据上下文略有不同,但是总的来说,它的意思都是“这样东西不允许改动”。你可能会出于两点考虑不想让别人改动:设计和效率。由于这两个原因差别很大,因此很可能会无用final关键词。
很多编程语言都有通知编译器“这是段数据”的手段。常量能用于下列两种情况:1、可以是“编译时的常量”,这样就再也不能改了。2、也可以是运行时初始化的值,这个值你以后就不想再改了。如果是编译时的常量,编译器会把常量放到算式里面:这样编译的时候就能进行计算,因此也就降低了运行时的开销。在Java中这种常量必须是primitive型的,而且要用final关键词表示。这种常量的赋值必须在定义的时候进行。