final 数据
来源:互联网 发布:linux sftp 编辑:程序博客网 时间:2024/05/29 16:05
可能用到final的三种情况:数据,方法,类
一 final 数据
向编译器告知一块数据是恒定不变的。比如:
(1) 一个永不改变的“编译时常量”。
(2)一个在运行时被初始化的值,而你不希望它被改变。
对编译时常量这种情况,编译器可以将该常量值代入任何可能用到它的计算式中,也就是说,可以在编译时执行计算式,这就减轻了运行时的负担。在java中,这些常量必须是基本数据类型,并且以关键字final表示,在对这个常量进行定义的时候,必须赋值。
一个既是static又是final的字段,只占据一段不能改变的存储空间。
当对对象引用而不是基本类型运用final时,其含义会有一定的模糊。对于基本类型,final是数值恒定不变;而对于对象引用,final使引用恒定不变。一旦引用被初始化指向一个对象,就无法再把此引用指向另外一个对象。然而,此对象本身是可以被修改的,java并未提供使任何对象恒定不变的途径。
二 final 方法
使用final方法的原因有两个。第一个原因是把方法锁定,以防任何方法修改它的含义。
第二个原因是效率。如果一个方法声明为final,就是同意编译器将针对该方法的所有调用,转为内嵌调用(相识于C++中的内联函数)。当编译器发现一个final方法调用的时候,它会根据自己的判断,跳过插入程序代码这种正常的执行方式,而执行方法调用机制,并且以方法体中的实际代码的副本来替代方法调用。
是否内嵌,由编译器决定。
三 final 类
表明不打算让该类被继承
- final 数据
- final数据
- final数据
- final数据和方法
- 7.8.1 final数据
- final的深入理解 - final数据
- final数据成员和static final 数据成员的区别
- Final类型数据的初始化
- final类型数据的解析
- 浅谈java中final数据
- final关键字(数据,方法,类)
- 大数据Java基础系列-final关键字
- final
- final
- final
- final
- final
- final
- c#基础25问
- S60 3rd签名问题
- 关于ADO.Net使用TableAdapter时产生:更新要求有效的deletecommand或update,insert,selectcommand的解决办法,以及“违反并发性”处理
- 做一个努力的人
- asp.net2.0学习历程 菜鸟到中级程序员的飞跃
- final 数据
- c#经典书籍介绍
- 改变你人生的励志名言
- 顺藤摸瓜——自主知识猎取的学习方法(1)
- OpenGL---GLUT教程(九) GLUT鼠标
- 全外连接的用法实例和注意点
- 励志人生感言
- 未婚男子必读
- 批处理命令大全