Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。
可以修饰的对象:
final 域
final 方法
final 类
final类不能被继承,没有子类,final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。
1、final类 final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会再被扩展,那么就设计为final类。
2、final方法 如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。
使用final方法的原因有二:
第一、把方法锁定,防止任何继承类修改它的意义和实现。
第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。
3、final变量(常量) 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。
从下面的例子中可以看出,一旦给final变量初值后,值就不能再改变了。
另外,final变量定义的时候,可以先声明,而不给初值,这中变量也称为final空白,无论什么情况,编译器都确保空白final在使用之前必须被初始化。但是,final空白在final关键字final的使用上提供了更大的灵活性,为此,一个类中的final数据成员就可以实现依对象而有所不同,却有保持其恒定不变的特征。
4、final参数 当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的值。
示例: public void f1(final int i){ } //i是final类型的,值不允许改变的.
分享到:
相关推荐
Final Effects是一款广受欢迎的视觉效果插件集合,主要用于视频编辑软件如Adobe Premiere Pro之中。这款插件提供了大量的特效和过渡,让视频制作人能够轻松创建出专业级别的视觉效果,极大地丰富了他们的创意工具箱...
FinalData是一款强大的数据恢复软件,尤其在企业环境中,它的功能尤为重要。FinalData 2.0企业版是该系列的一个版本,以其实用性和全面性深受用户喜爱。它以绿色软件的形式发布,意味着无需安装,解压后即可直接使用...
1. **下载并安装finalData**:首先需要从官方网站或其他可信渠道下载finalData安装包,并按照提示完成安装过程。 2. **获取注册码**:通常情况下,用户购买finalData软件后会收到一封包含注册码的邮件。如果是在其他...
《Final-IK 2.1:Unity中的IK插件与动捕技术详解》 Final-IK 2.1是一款专为Unity游戏引擎设计的反向动力学(Inverse Kinematics,简称IK)插件,它的最新版本带来了更强大的功能和优化,旨在提升游戏角色的动画效果...
《DIYP影音Final版》是一款集视频播放、音频播放、媒体管理于一体的综合性影音应用。该应用的最终版本,"Final版",意味着开发者已经对其进行了多次优化和改进,旨在为用户提供更加稳定、流畅且功能丰富的体验。从...
FinalData Enterprise 2.0 是一款专业且强大的数据恢复软件,尤其适用于企业级用户。它在数据丢失或硬盘出现故障时能够发挥重要作用,帮助用户找回重要文件。在这款软件的2.0版本中,开发者提供了更为优化的算法和...
数据恢复FinalData 3.0绿色版是一款强大的数据恢复软件,专为用户解决因各种原因丢失数据的问题。FinalData以其高效、安全的特性在IT业界备受赞誉,它能够深度扫描硬盘,找出已删除、格式化或者丢失的文件,并尝试...
《final data 3.0 数据恢复工具深度解析》 在数字化时代,数据的重要性不言而喻,一旦丢失,可能会带来重大的损失。幸运的是,有了像"final data 3.0"这样的数据恢复软件,我们可以找回那些误删的宝贵资料。这款...
《FinalData_V3.0企业版:数据恢复的利器》 在信息技术日益发达的今天,数据的重要性不言而喻。无论是个人用户还是企业,都离不开各种文档、数据库和邮件等重要信息的存储与管理。然而,由于种种原因,数据丢失的...
《Final IK v1.7 unitypackage》是一款专为Unity引擎设计的高级反向动力学(Inverse Kinematics,简称IK)解决方案。在游戏开发中,尤其是3D角色动画领域,IK技术是不可或缺的一部分,它能够帮助开发者更加精确地...
《Final Data 3.0:数据恢复利器与硬盘数据恢复技术详解》 在数字化时代,数据的重要性不言而喻,而数据丢失往往带来极大的困扰。幸运的是,有这样一款工具——Final Data 3.0,被誉为硬盘数据恢复的神器,它在应对...
这个压缩包包含 `netty-3.2.5.Final.jar` 和 `netty-3.2.5.Final-sources.jar` 两个文件,它们分别代表了Netty框架的运行时库和源代码。 `netty-3.2.5.Final.jar` 是Netty的可执行JAR文件,包含了所有必要的类和...
《AE MetaCreations Final Effects Complete V1.0:探索视觉特效的艺术与技术》 Adobe After Effects(简称AE)是一款强大的视觉特效和动态图形编辑软件,广泛应用于影视制作、广告设计和动画创作等领域。...
Java ClassFinal是一款针对Java类文件的安全加密工具,主要用于保护开发者编写的Java代码不被轻易反编译和篡改,从而增强软件的安全性。在Java应用开发中,源代码的保护至关重要,因为Java的字节码(class文件)是可...
Final IK v2.0是Unity游戏引擎中一个强大的骨骼IK(Inverse Kinematics)解决方案,它为开发者提供了高级的动画控制和灵活性。Unity是一款广泛应用的跨平台游戏开发工具,以其高效、易用和丰富的功能深受开发者喜爱...
FinalData是一款知名的数据恢复软件,尤其适用于在意外删除、格式化或系统崩溃等情况下找回丢失的文件。这个“免安装版本”意味着用户无需正式安装该软件到计算机上,可以直接运行程序进行数据恢复,方便快捷,尤其...
ClassFinal正是为解决这些问题而设计的一款Java类文件安全加密工具。这款工具能够对编译后的`.class`文件进行加密处理,使得未经授权的用户无法轻易读取或反编译代码,从而提高代码的安全性。 ClassFinal的特点在于...
Final IK 1.9 是一个强大的插件,主要用于Unity 3D引擎中的骨骼动画系统,它为游戏开发者和动画师提供了高效且灵活的反向动力学(Inverse Kinematics,简称IK)解决方案。这个版本的Final IK是经过优化和升级的1.9...
《FinalData 4.1.29.50318:专业数据恢复软件的深度解析》 在数字化时代,数据的重要性不言而喻。无论是个人还是企业,数据丢失都可能导致不可估量的损失。因此,拥有一款高效的数据恢复工具至关重要。FinalData ...