第十三节 final 关键字说明

final 是java的关键字,翻译为最终中

 

final 用法:

1,final修饰变量时,标识变量不可变。如果是基本数据类型,则不可变。如果是Object类型,则表示变量引用的地址不可变.

final修饰变量时,需要显示的进行初始化,如果不显示的进行初始化,会报错

例:

 第十三节 final 关键字说明

final 经常和static一起用,声明常量.常量名一般全部大写

例如:

 第十三节 final 关键字说明

引用类型常量,可以修改属性值,但是不允许修改变量保存的引用类型地址


第十三节 final 关键字说明



2,final修饰类,如果类用final修饰,则表示类不可以继承。final类通常功能是完整的,它们不能被继承。Java中有许多类是final的,譬如String,Interger以及其他包装类。

 例如

第十三节 final 关键字说明


3,final修饰方法,代表子类不可以重写此方法。

如果你认为一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final。final方法比非final方法要快,因为在编译的时候已经静态绑定了,不需要在运行时再动态绑定。

 

例如:

 

 第十三节 final 关键字说明

 

下面总结了一些使用final关键字的好处

1.     final关键字提高了性能。JVM和Java应用都会缓存final变量。

2.     final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销。

3.     使用final关键字,JVM会对方法、变量及类进行优化。