java基础之final关键字 java的final关键字

createh56个月前 (12-29)技术教程77

我是个没得感情的更新机器

final 一个Java语言的关键字。你只能定义一个实体一次,以后不能改变它或继承它。

具体来说:

一个final修饰的类不能被子类化,即这个类是我这里用的,而且我不希望这个类被继承,java中最著名的例子就是String类了。

一个final修饰的方法不能被重写,继承了该类后,不能重写该方法。

一个final修饰的变量或者参数,若参数为基本类型,该参数不能在方法中修改其值。若参数为对象应用,该参数在方法中不能修改其指向引用,但是具体内容是可以修改的

无论在什么情况下,编译器都会去确保final变量在使用前必须被初始化。若不进行初始化,会提示错误。

final还可以用作形参,表示这个参数不允许改变,但是这个实际意义不大,因为java方法中是值传递,都是拷贝一份而不改变原来的值。

而为了确保final的初始化已被执行,确保读取的final是已经在对象中被初始化过,jvm底层会使用内存屏障来保障。

相关文章

java基础之volatile关键字 volatile关键字主要解决什么问题

转眼又到圣诞节加班完成去逛街问问老婆开心不没备礼物被打瘸-----------------------------------打油诗专用分割线-----------------------------...