Java关键字介绍之final - 编程入门网
前面加上final关键字,那便是说,这个变量一旦被初始化 便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引 用不可再变。然而,对象其本身却是可以被修改的,Java并未提供使任何对象恒定不变的途 径。这一限制同样适合数组,它也是对象。
示例2
由于VAL_ONE 和VAL_TOW 是带有编译期数值的final 原始类型,所以它们二者均可以用作 编译期常量,并且没有重大区别。VAL_THREE是一种更加典型的对常量进行定义的方式:定义 为 public,则可以被用于包之外;定义为 static 来强调只有一份;定义为 final 来说明 它是一个常量。 Java关键字介绍之final(3)时间:2011-04-13 51cto hangjunhdfinal标记的变量即成为常量,但这个“常量”也只能在这个类的内部使用,不能在类的 外部直接使用。但是当我们用public static final 共同标记常量时,这个常量就成为全局 的常量(一个既是static又是final的字段只占据一段不能改变的存储空间)。而且这样定义 的常量只能在定义时赋值,其他地方都不行。 示例3
结果
示例部分展示了将final 数值定义为static(i5) 和非static(i4) 的区别。此区别只 有在数值在运行期内被初始化时才会显现,这是因为编译器对编译期数值一视同仁。(并且 它们可能因优化而消失。)当你运行程序时,就会看到这个区别。请注意,在fd1 和fd2 中 , i5 的值是不可以通过创建第二个FinalData 对象而加以改变的。这是因为它是 static, 在装载时已被初始化,而不是每次创建新对象时都初始化。 示例4
Java关键字介绍之final(4)时间:2011-04-13 51cto hangjunhd从v1 到v3 的变量说明了final 引用的意义。正如你在main( )中所看到的,不能因为v2 是final 的,就认为你无法改变它的值。由于它是一个引用,final 意味着你无法将v2 再次 指向另一个新的对象。 示例 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |