你的位置:首页 > Java教程

[Java教程]关键字final


  • final数据:

  1. 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。再次赋值将引起编译报错。

  2. 当final变量是基本数据类型以及String类型时,如果在编译期间能知道它的确切值,则编译器会把它当做编译期常量使用。如果是String,编译器将取其值而非其引用。

  3. 无法在函数中更改final参数引用所指向的对象。

 

  • final方法:

  1. 两个用处:锁定方法,防止继承,保证不被覆盖;效率:消除方法调用的开销(Java SE5/6+由于虚拟机的优化 利用final来提升效率已经没有意义了)。

  2. 所有的private方法都隐式的指定为final。

 

  • final类:

  1. 当某个类整体定义为final时,就表明了不打算继承该类,final类内部所有函数都隐式指定为final。