首页 > 其他 > 详细

final关键字

时间:2020-03-15 14:01:17      阅读:66      评论:0      收藏:0      [点我收藏+]

Final从字面意思上看 “最终的,不可改变的”,是Java中的一个关键字.

主要用法有以下四种:

(1) 用来修饰变量(成员变量和局部变量),该变量只能被赋值一次且它的值无法被改变。对于成员变量来讲,我们必须在声明时或者构造方法中对它赋值;final经常与static一起声明常量。

技术分享图片

(2)用来修饰方法参数,表示在变量的生存期中它的值不能被改变;

(3)修饰方法,表示该方法无法被重写;

(4)修饰类,表示该类无法被继承。java中有很多类是final类,比如String,Integer及其它包装类;

为什么String要用final修饰?这样设计有什么好处呢?

使用 final 修饰的第一个好处是安全;第二个好处是高效

(1)第一个好处是安全,Java 语言之父 詹姆斯·高斯林 (James Gosling),说迫使String类设计成不可变的另一个原因是安全,当你在调用其他方法时,比如调用一些系统级操作指令之前,可能会有一系列校验,如果是可变类的话,可能在你校验过后,它的内部的值又被改变了,这样有可能会引起严重的系统崩溃问题,这是迫使 String 类设计成不可变类的一个重要原因。(这是James Gosling在2001年5月的一次访谈中,谈到了不可变类和String)

(2)第二个好处是高效,以 JVM 中的字符串常量池来举例,只有字符串是不可变时,我们才能实现字符串常量池字符串常量池可以为我们缓存字符串,提高程序的运行效率;

 

final关键字

原文:https://www.cnblogs.com/liaowenhui/p/12497108.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!