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

推荐订阅源

Martin Fowler
Martin Fowler
爱范儿
爱范儿
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
IT之家
IT之家
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
Microsoft Azure Blog
Microsoft Azure Blog
The GitHub Blog
The GitHub Blog
C
Check Point Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - Franky
G
Google Developers Blog
V
V2EX
雷峰网
雷峰网
美团技术团队
博客园 - 【当耐特】
人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
MongoDB | Blog
MongoDB | Blog
V
Visual Studio Blog
J
Java Code Geeks

博客园 - 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中被赋予了过多功能各不相同的含义,理解和使用时容易混淆。