final是指这个变量不可再次被赋值,而变量所代表的对象,其具有的任何属性都可以变化;
1)final成员变量
在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变,但引用变量所指向的对象中的内容还是可以改变的。
2)final方法
将方法声明为final,那就说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。
另外有一种被称为inline的机制,它会使你在调用final方法时,直接将方法主体插入到调用处,而不是进行例行的方法调用,例如保存断点,压栈等,这样可能会使你的程序效率有所提高,然而当你的方法主体非常庞大时,或你在多处调用此方法,那么你的调用主体代码便会迅速膨胀,可能反而会影响效率,所以你要慎用final进行方法定义。
类中所有的private方法从某种意义上讲都是属于final的,因为他们在其它地方没法覆盖,你可以在一个private方法前加final修饰符,但没什么意义。
3)final类
当你将final用于类身上时,你就需要仔细考虑,因为一个final类是无法被任何人继承的,那也就意味着此类在一个继承树中是一个叶子类,并且此类的设计已被认为很完美而不需要进行修改或扩展。对于final类中的成员变量,你可以定义其为final,也可以不是final。而对于方法,由于所属类为final的关系,自然也就成了final型的。你也可以明确的给final类中的方法加上一个final,但这显然没有意义。
final类与普通类的使用几乎没有差别,只是它失去了被继承的特性。final方法与非final方法的区别也很难从程序行看出,只是记住慎用。
分享到:
相关推荐
《Final-IK 2.1:Unity中的IK插件与动捕技术详解》 Final-IK 2.1是一款专为Unity游戏引擎设计的反向动力学(Inverse Kinematics,简称IK)插件,它的最新版本带来了更强大的功能和优化,旨在提升游戏角色的动画效果...
Final Cut Pro X 标记转换器 FCPX 目前不会将标记导出到 Compressor ......超级蹩脚! 此应用程序将标记从 .fcpxml 文件转换为可以导入压缩器的 .txt 文件。 用法 导出项目xml文件 在 Final Cut Pro X 项目浏览器中...
Final IK 1.9 是一个强大的插件,主要用于Unity 3D引擎中的骨骼动画系统,它为游戏开发者和动画师提供了高效且灵活的反向动力学(Inverse Kinematics,简称IK)解决方案。这个版本的Final IK是经过优化和升级的1.9...
在Java编程中,`final`修饰符和类型转化是两个重要的概念,它们分别涉及类的继承限制和对象的类型转换。 1. `final`修饰符: - `final`类:当一个类被声明为`final`时,它无法被其他类继承。这通常用于防止他人...
《Final IK v1.7 unitypackage》是一款专为Unity引擎设计的高级反向动力学(Inverse Kinematics,简称IK)解决方案。在游戏开发中,尤其是3D角色动画领域,IK技术是不可或缺的一部分,它能够帮助开发者更加精确地...
Unity Final IK 2.1 是一个专为Unity3D游戏引擎设计的强大插件,它专注于解决游戏中角色动画的反向运动学(Inverse Kinematics, 简称IK)问题。反向运动学是一种计算方法,用于根据目标位置来确定角色身体各关节的...
Final Draft是世界上最畅销的剧本编辑文本处理工具。有了Final Draft,你就可以把全部的精力和创造力用在剧本创作上了,而不必理会版面等编辑问题。Final Draft包含了专门针对于剧本方面的强大的文字处理功能。这样...
Final IK是Unity的逆向运动学解决方案的插件。 Final IK包含: 用于Biped骨骼角色的全身IK系统 Biped IK :Unity的内置Avatar IK系统的替代品,提供更大的灵活性,并使用相同的API CCD IK: 循环坐标下降IK Multi-...
"Final Cut Pro Templates"指的是该软件中的预设模板,这些模板为用户提供了丰富的视觉效果、转场、动画以及音频设计,极大地提升了视频编辑效率。 一、Final Cut Pro 模板概述 FCP的模板系统是其强大功能之一,...
Final IK 1.9.0 是一款强大的反向动力学(Inverse Kinematics,简称IK)解决方案,专为Unity游戏引擎设计。它旨在提高游戏开发者和3D动画师在创建复杂角色动画时的工作效率。Final IK 1.9.0 更新带来了多项改进和新...
《Unity中的Final IK插件详解》 在游戏开发领域,Unity3D(简称U3D)作为一款强大的游戏引擎,广泛应用于各种类型的游戏制作。在角色动画系统中,精确而自然的角色运动是至关重要的,而Final IK插件就是解决这一...
Final IK v2.0是Unity游戏引擎中一个强大的骨骼IK(Inverse Kinematics)解决方案,它为开发者提供了高级的动画控制和灵活性。Unity是一款广泛应用的跨平台游戏开发工具,以其高效、易用和丰富的功能深受开发者喜爱...
《Unity插件Final-IK深度解析》 在游戏开发领域,Unity引擎因其强大的功能和易用性而备受青睐。为了提升开发效率和游戏体验,许多开发者会借助于各种插件来辅助工作,Final-IK便是其中一款专为Unity设计的优秀插件...
"Final IK 2.0.unitypackage.zip" 是一个Unity引擎使用的插件包,它包含了Final IK 2.0版本的完整内容。Final IK是一款强大的骨骼动画系统,专为Unity设计,旨在解决游戏开发中的角色定位和动画问题,特别是逆向动力...
### Final Cut Pro 的快捷键详解 #### 一、概述 Final Cut Pro 是一款专业级的视频剪辑软件,被广泛应用于电影制作、电视节目编辑、网络视频创作等多个领域。掌握其快捷键能极大提高工作效率,简化操作流程。本文将...
基于MATLAB的汽车电动助力转向系统转向特性分析,包含m文件,simulink模型。亲测可用。具有很强的通用性。
这些效果可能包括粒子系统、光效、文字动画、转场、模拟自然现象(如火焰、烟雾、水波)等。通过使用Final Effects,即使是对特效技术不太熟悉的用户也能轻松创建出专业级别的动画效果。 在After Effects中,Final ...
Final Effects插件合集是一款广泛应用于视频编辑和特效制作的专业工具,主要面向的是影视后期制作、广告设计以及视觉效果艺术家。这款插件合集提供了大量的动态图形和视觉特效元素,帮助用户在Adobe After Effects等...
1.9 版本对最终逆向运动学 (Final IK) 进行了很多修复和改进: - 增加了烘焙器,这是一个强大的新工具,可将 IK 烘焙到 Humanoid、Generic 和 Legacy 动画剪辑中。 - 将 LOD 级别添加至 VRIK。 - 已在新版 Oculus ...