前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Java中的final关键字【详解】

Java中的final关键字【详解】

作者头像
訾博ZiBo
发布2025-01-06 13:51:48
发布2025-01-06 13:51:48
5800
代码可运行
举报
运行总次数:0
代码可运行

一、Java中的final关键字

1、final关键字

final的汉语意思是:最终的;决定性的;不可更改的;跟在Java中的功能一致;

2、final关键字修饰类

被final关键字修饰的类是最终类,意思就是不能有子类

“太监类”、“断子绝孙类”,比如String类;

3、final关键字修饰方法

被final关键字修饰的方法是最终方法子类可以继承使用,但不能修改

4、final关键字修饰变量

被final关键字修饰的变量是常量一旦赋值,不可被修改,而且必须在初始化对象的时候赋值

成员变量:final修饰的成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误;

局部变量:final修饰的局部变量必须声明时赋值,如果不赋值,虽然声明是不会出错,但调用时会编译出错;

方法参数:如果 final 关键字修饰方法参数时,方法中是不能改变该参数的;

代码语言:javascript
代码运行次数:0
运行
复制
public void myTest(final Integer i) {
    i = 10;  // 报错: Cannot assign a value to final variable 'i'
    System.out.println(i);
}

补充:

final关键字大多修饰基本数据类型(实际变量值不变),如果修饰引用数据类型决定的是变量不再指向另一个对象(引用地址不变),对象的内容是可以更改的;

final关键字修饰变量,(常量)要求全部的字母大写;

5、final不能修饰

final不能用来修饰抽象类:因为抽象类需要被继承才有作用,而final修饰的类不能被继承;

final不能用来修饰构造器:因为构造方法既不能被继承,也不能被重写,用final修饰毫无意义;

6、final关键字的好处

  • 使用final关键字可以提高性能。JVM和Java应用都会缓存final变量;
  • final变量可以安全地在多线程环境下共享,而不需要额外的同步开销;
  • 使用final关键字,JVM会对方法、变量及类进行优化;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Java中的final关键字
    • 1、final关键字
    • 2、final关键字修饰类
    • 3、final关键字修饰方法
    • 4、final关键字修饰变量
    • 5、final不能修饰
    • 6、final关键字的好处
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档