JAVA final关键字
2017-10-21 19:14
197 查看
Java中的final关键字可以作用于类、方法以及变量。
final作用于变量的时候一般会和static同时使用,变量只读不可修改
final作用于方法时该方法不可被子类重写 编译的时候静态绑定因此效率较高
final作用于类时该类不可被继承,如String,数值类等就是final的
使用final关键字的好处
提高了性能。JVM和Java应用都会缓存final变量
可以在多线程的环境下进行共享不需要额外的同步开销
JVM会对方法类和变量进行优化
需要注意的地方
final成员变量必须在声明的时候初始化或者在构造器中进行初始化,否则不会通过编译
不可对final变量再赋值
final本地变量必须在声明的时候赋值
匿名类中的所有变量都必须的final类型的
接口中声明的所有变量本身都是final的
final和abstract这两个关键字是反相关的,final类就不可能是abstract的。
final方法在编译阶段绑定,称为静态绑定(static binding)
对于集合对象声明为final指的是引用不能被更改,但是你可以向其中增加,删除或者改变内容
final作用于变量的时候一般会和static同时使用,变量只读不可修改
final作用于方法时该方法不可被子类重写 编译的时候静态绑定因此效率较高
final作用于类时该类不可被继承,如String,数值类等就是final的
使用final关键字的好处
提高了性能。JVM和Java应用都会缓存final变量
可以在多线程的环境下进行共享不需要额外的同步开销
JVM会对方法类和变量进行优化
需要注意的地方
final成员变量必须在声明的时候初始化或者在构造器中进行初始化,否则不会通过编译
不可对final变量再赋值
final本地变量必须在声明的时候赋值
匿名类中的所有变量都必须的final类型的
接口中声明的所有变量本身都是final的
final和abstract这两个关键字是反相关的,final类就不可能是abstract的。
final方法在编译阶段绑定,称为静态绑定(static binding)
对于集合对象声明为final指的是引用不能被更改,但是你可以向其中增加,删除或者改变内容
相关文章推荐
- Java中的关键字static和final的作用
- Java关键字final、static使用总结
- Java中的final关键字
- Java面试题04-final关键字详解
- Java关键字final、static使用总结
- Java关键字之static、final、transient
- [转载]浅析Java中的final关键字
- 说一说java关键字final和transient
- java基础知识——final关键字
- final关键字总结-JAVA
- Java笔试:final关键字总结
- java中的final关键字所起的作用
- 【java】final关键字
- [Java] 关键字final、static使用总结
- 黑马程序员_java的继承性- 继承-final关键字-抽象类-接口-多态-异常-包-多线程-
- java笔记之final和static关键字
- 浅析Java中的final关键字
- Java关键字final、static使用总结
- 浅谈Java中的final关键字与C#中的const, readonly关键字
- 浅析Java中的final关键字