java final
Posted 西伯尔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java final相关的知识,希望对你有一定的参考价值。
1.final使用范围
类,方法,成员变量,本地变量。
2.final关键字的好处
(1)final关键字提高了性能。JVM和Java应用都会缓存final变量。
(2)final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销。
(3)使用final关键字,JVM会对方法、变量及类进行优化。
3.注意
(1)被final关键字修饰的类不能被继承,被final关键字修饰的类属性和类方法不能被重写。
(2)不能被赋值,跟常量类似,报错如下。
(3)final成员变量必须在声明的时候初始化或者在构造器中初始化,否则编译报错。final本地变量必须在声明时初始化。
(4)在匿名类中所有变量都必须是final变量。接口中声明的所有变量本身是final的。
(5)final关键字不同于finally关键字,后者用于异常处理。
(6)final关键字容易与finalize()方法搞混,后者是在Object类中定义的方法,是在垃圾回收之前被JVM调用的方法。
(7)final和abstract这两个关键字是反相关的,final类就不可能是abstract的。
(8)final方法在编译阶段绑定,称为静态绑定(static binding)。
(9)按照Java代码惯例,final变量就是常量,而且通常常量名要大写。
(10)集合对象声明为final指的是引用不能被更改,但是你可以向其中增加,删除或者改变内容。
以上是关于java final的主要内容,如果未能解决你的问题,请参考以下文章
Java -- 每日一问:谈谈 finalfinally finalize 有什么不同?
看完这篇 finalfinally 和 finalize 和面试官扯皮就没问题了
java真实面试_深圳百纳九州_java的基本数据类型有几种,并且写出全部的数据类型写出常用的Linux命令finalfinalize和finnally的不同之处用java手写一个单例类