惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
博客园 - 叶小钗
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
M
MIT News - Artificial intelligence
美团技术团队
aimingoo的专栏
aimingoo的专栏
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Security Blog
Microsoft Security Blog
Last Week in AI
Last Week in AI
The GitHub Blog
The GitHub Blog
小众软件
小众软件
T
Tailwind CSS Blog
Martin Fowler
Martin Fowler
B
Blog RSS Feed
月光博客
月光博客
量子位
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Hugging Face - Blog
Hugging Face - Blog
IT之家
IT之家
Y
Y Combinator Blog
B
Blog
MyScale Blog
MyScale Blog

博客园 - Bryan Wong

Pushlets的初始化陷阱 在Tomcat部署Solr 4.3 Spring Security如何防止会话固定攻击(session fixation attack) Jdk自带的定时任务TimerTask和ScheduledExecutorService及其在Spring中的集成 Lucene索引,查询及高亮显示 记录几个Json的lib 蛋疼的腾讯微博数据类型和API文档 语言检测工具language-detection 你所不知道的Quartz特性 Spring Data集成MongoDB访问 Jetty的jar包依赖关系图 CAPS & BHCA Java中的集合类图 下载SUSE Linux 10 sp1的经历好曲折 C#代码检查工具:stylecop 圈复杂度基础 Scrum——“鸡”和“猪”的寓言 使用java断言调测程序 不同于C#的Java值类型和String类型
无所不能的final关键字
Bryan Wong · 2010-04-11 · via 博客园 - Bryan Wong

 一,编译时常量

使用static final类似于C/C++/C#中的const。应用于基本类型,java编译器可以将该常量值代入任何可能用它的计算式中,这样可以减轻运行时的负担。

二,运行时初始化,其后不可改变的变量

分两种情况:如果是值类型,表示其值不可改变;如果是引用类型,表示其引用(指向)不可改变,但其引用的对象(状态和行为)可以改变。c#采用单独的关键字readonly指定。

三,只读参数

与第二种情况类似,在方法内部无法修改修饰为final的参数的引用指向。

四,密封类与密封方法

密封类表示该类不允许继承,密封方法表示该方法不可以被重写。c#采用单独的关键字sealed来指定。

final关键字在Java中被赋予了过多功能各不相同的含义,理解和使用时容易混淆。