JAVA final关键字

来源:互联网 发布:linux 更新grub 编辑:程序博客网 时间:2024/06/06 09:53

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指的是引用不能被更改,但是你可以向其中增加,删除或者改变内容
原创粉丝点击